Обмануть IntelliSense в MS VS
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 09.05.18 06:19
Оценка:
Есть у меня библиотека, универсальная для сред Win32 и WDM (режима ядра). Набор файлов один, полно условной компиляции, а версии для пользовательского и ядерного режимов собираются в проектах с соответствующими параметрами внутри одного solution'а (VS 2008, до того была 2005). Для Win32-проектов определен макрос _W32App, для WDM — _WdmDriver. В заголовочных файлах по ним определяются и другие макросы, для удобства.

И вот IntelliSense, которому бы побольше ума в более подходящих случаях, непонятным мне образом отслеживает определенность "первичных" макросов. В одних случаях он считает, что определен _W32App, и делает "неактивным" код для Win32, в других — наоборот, но никогда не считает их определенными одновременно. А в "неактивном" коде, соответственно, не работают ни автозавершение имен, ни меню членов, ни подсказки по функциям.

Как бы его так обмануть, чтобы при работе с кодом он считал определенными оба макроса?
studio студия vs2005 vs2008 intellisense
Re: Обмануть IntelliSense в MS VS
От: Senyai Россия http://www.arseniy.net
Дата: 09.05.18 07:03
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Как бы его так обмануть, чтобы при работе с кодом он считал определенными оба макроса?

Думаю как-то так, не тестировал:

#if defined(_W32App) || defined(__INTELLISENSE__)
#endif
Не бойтесь совершенства. Вам его не достичь. © Сальвадор Дали
Re[2]: Обмануть IntelliSense в MS VS
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 09.05.18 07:36
Оценка:
Здравствуйте, Senyai, Вы писали:

S>
S>#if defined(_W32App) || defined(__INTELLISENSE__)
S>#endif
S>

VS 2008 не поддерживает __INTELLISENSE__. А было бы неплохо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.