Редактор Eclipse / CDT не выбирает символы, заданные проектом, при раскрашивании разделов ifdef - PullRequest
15 голосов
/ 01 июня 2010

Проблема, с которой я сталкиваюсь, заключается в том, что в настройках символы C / C ++, определенные для разных конфигураций / целей, не отображаются при раскрашивании кода.

Когда я изменяю активную конфигурацию сборки в меню проекта, я ожидаю, что редактор и раскраска кода выберут символы из настроек проекта, но кажется, что они выбирают символы только для одной из целей.

Можно ли как-нибудь раскрасить код для кода ifdef в соответствии с активной конфигурацией сборки?

Ответы [ 4 ]

20 голосов
/ 10 сентября 2010

Я решил эту проблему в своей системе, установив «Окно-> Настройки-> C / C ++ -> Индексатор-> Использовать конфигурацию активной сборки»

4 голосов
/ 11 декабря 2014

В ответ на комментарий phord. После изменения параметра индексатора на «Использовать активную конфигурацию» вам нужно изменить активный conf проекта на что-то другое, а затем вернуться. Затем он принимает изменения.

2 голосов
/ 10 декабря 2012

просто небольшое дополнение к опции символов: присвойте ей значение 1

, что сработало для меня так:

  • скопируйте имя определения в буфер обмена (скажем, у нас есть:#ifdef DBG_TYP_1)
  • выберите проект в проводнике проекта
  • перейдите - Project-> Properties-> C / C ++ General-> Path and Symbols
  • в "#Вкладка "Символы"
  • добавление символа DBG_TYP_1 со значением 1

спасибо за советы!

0 голосов
/ 01 июня 2010

Попробуйте поиграться с опциями обнаружения вашего проекта. (Щелкните правой кнопкой мыши проект, выберите «Свойства», перейдите в «Сборка C / C ++» и выберите «Параметры обнаружения».)

Вам может потребоваться перестроить ваш проект после изменения его конфигурации сборки, чтобы Eclipse повторно запустил свое обнаружение, или вам может потребоваться изменить параметры обнаружения для каждой конфигурации, чтобы они генерировали разные результаты. (Извините, это не та область CDT, с которой я много играл.)

...