Отключить или исправить # 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, но мне было бы интересно узнать, так ли это исправлено или исправлено в более поздней версии.)

Ответы на вопрос(3)

Ваш ответ на вопрос