问题:我的语法突出显示和 智能感知 </跨度> 坏了。我有一个像这样的C ++源文件:
do_some_stuff;#万一
其中stdafx.hpp( ++ /预处理器)。
Visual Studio正在失去跟踪,并显示do_some_stuff; (实际上是很多代码行)用纯灰色 - 我没有语法着色也没有 智能感知 </跨度> 。
问题:如何
您描述的问题与VS 2005中的课程相同。由于完全重新设计的Intellisense系统,它在Visual Studio 2010及更高版本中得到修复。这不是直接适用于您的问题,但这里有一些关于底层架构的信息: http://blogs.msdn.com/b/vcblog/archive/2009/05/27/rebuilding-intellisense.aspx
有些事情你可以尝试,一些项目结构的变化可以帮助减少问题的频率,但无论你做什么都会被击中或错过,问题最终会再次重现。唯一真正的解决方案是使用更新的IDE。
您可以通过安装VS 2010和Daffodil继续使用VS 2005构建工具( http://daffodil.codeplex.com ),然后使用VS 2010中的v80平台工具集构建项目。这使迁移相当简单,无需更改任何源代码。
由于#define SOMETHING是在stdafx.hpp中定义的,表明它始终定义,因为在项目配置中定义了DEFINE_SOMETHING,在项目配置中明确定义SOMETHING是不可能的?
我曾经在VS2005和2008中遇到过类似的问题,冗余的显式定义有时会有所帮助。
如果有人仍然感兴趣 - 关闭灰色#ifdef: