Отключить или исправить # ifdef-чувствительные цвета и intellisense в Visual Studio
Проблема: Моя подсветка синтаксиса и IntelliSense не работают. У меня есть исходный файл C ++, как это:
#include "stdafx.hpp"
#ifdef SOMETHING
do_some_stuff;
#endif
гдеstdafx.hpp
(предварительно скомпилированный заголовок для проекта) включает в себя.h
файл, который говорит:
#ifdef DEFINE_SOMETHING
#define SOMETHING
#endif
а такжеDEFINE_SOMETHING
определяется в свойствах проекта для проекта (в C ++ / Preprocessor).
Visual Studio теряет трек и отображаетdo_some_stuff;
(это на самом деле много строк кода) в сером цвете - у меня нет ни раскраски синтаксиса, ни IntelliSense.
Вопрос: Как можно заставить Visual Studio сделать это правильно (маловероятно) или отключить тот факт, что это устаревший код, который он считает#ifdef
вышел?
(Перестановка кода не возможна - это большая и сложная система, файлы которой создаются в различных средах, Visual Studio - только одна из них. Я использую Visual Studio 2005, но мне было бы интересно узнать, так ли это исправлено или исправлено в более поздней версии.)