title: Disable or fix #ifdef-sensitive colouring and intellisense in Visual Studio
body: <p><strong>The problem:</strong> My syntax highlighting and IntelliSense are broken.  I have a C++ source file like this:</p>
  
  <pre><code>#include "stdafx.hpp"
  
  #ifdef SOMETHING
  do_some_stuff;
  #endif
  </code></pre>
  
  <p>where <code>stdafx.hpp</code> (the precompiled header for the project) includes a <code>.h</code> file that says:</p>
  
  <pre><code>#ifdef DEFINE_SOMETHING
  #define SOMETHING
  #endif
  </code></pre>
  
  <p>and <code>DEFINE_SOMETHING</code> is defined in the project properties for the project (under C++ / Preprocessor).</p>
  
  <p>Visual Studio is losing track, and displaying <code>do_some_stuff;</code> (which is actually lots of lines of code) in plain grey - I have neither syntax colouring nor IntelliSense.</p>
  
  <p><strong>The question:</strong> How can I either make Visual Studio get this right (unlikely) or switch off the fact that it's greying-out code that it thinks is <code>#ifdef</code>'d out?</p>
  
  <p>(Rearranging the code is not an option - it's a large and complex system whose files are built in various environments, Visual Studio being only one of them.  I'm using Visual Studio 2005, but I'd be interested to know whether this is fixed or workaroundable in a later version.)</p>