Visual Studio Intellisense因宏文件而崩溃

时间:2010-09-21 07:11:29

标签: visual-studio visual-studio-2005 intellisense

在Visual Studio 2005中,我有一个带有预处理器宏的.h文件。对于Visual Studio的Intellisense来说,它们显然过于复杂,因为如果它们存在则会使Visual Studio崩溃,而如果它们不存在则它会正常工作。有没有人知道一种方法来阻止Visual Studio解析Intellisense的文件,但仍然包含在构建中。顺便说一句,我已经尝试了以下内容:

  1. 通过重命名feacp.dll来禁用Intellisense。工作,但不切实际。
  2. 视觉辅助。工作,但250美元。
  3. 安装Visual Studio SP1 + Intellisense修补程序(KB947315)。不修复它(并占用1GB的硬盘空间)。

2 个答案:

答案 0 :(得分:0)

首先要尝试安装Visual Studio 2005 SP1。这修复了许多智能感知相关的问题,可能会帮助你

如果这不能解决问题,请尝试从项目中排除该文件。这可以防止任何内容出现在Visual Studio功能(例如intellisense)中。如果它只是一个头文件,它不应该影响构建,因为实际文件不会被删除,它不会被视为项目的一部分。

答案 1 :(得分:0)

好的,为了别人的利益,我将自己解决这个问题!我一直在摆弄,答案如下。如果您遇到此问题,并删除了您的ncb文件以强制Intellisense更新,您可以证明这是有效的。

#ifdef .h文件中的违规代码如下:

#ifdef SOMETHING_UNIQUE
<the offending code>
#endif

在实际使用宏的文件中(#include .h文件的cpp文件):

#define SOMETHING_UNIQUE

Intellisense现在将忽略导致它崩溃的.h文件中的代码(它将在编辑器中显示为灰色),但它仍然会被编译。