visual-studio - 在 Visual Studio 中禁用或修复 #ifdef-sensitive 着色和智能感知

标签 visual-studio visual-studio-2005 syntax-highlighting

问题:我的语法高亮和 IntelliSense 坏了。我有一个像这样的 C++ 源文件:

#include "stdafx.hpp"

#ifdef SOMETHING
do_some_stuff;
#endif

在哪里 stdafx.hpp (项目的预编译头文件)包括 .h文件说:
#ifdef DEFINE_SOMETHING
#define SOMETHING
#endif

DEFINE_SOMETHING在项目的项目属性中定义(在 C++/预处理器下)。

Visual Studio 正在丢失轨道,并显示 do_some_stuff; (实际上是很多行代码)纯灰色 - 我既没有语法着色也没有 IntelliSense。

问题:我怎样才能让 Visual Studio 正确(不太可能)或关闭它认为是 #ifdef 的灰色代码这一事实出来了吗?

(重新排列代码不是一种选择——它是一个庞大而复杂的系统,其文件构建在各种环境中,Visual Studio 只是其中之一。我使用的是 Visual Studio 2005,但我很想知道这是否是在更高版本中已修复或可解决。)

最佳答案

按照之前 aousov 的回答,我检查了我的 VSCode 并找到了这个设置:
C_Cpp:暗淡非事件区域
控制非事件预处理器 block 的颜色是否与事件代码不同。如果禁用 IntelliSense 或使用默认高对比度主题,则此设置无效。
在扩展/C/C++
这可能与您使用的版本有关(在我的情况下为 1.46.1)。
最好的,
杰弗里

关于visual-studio - 在 Visual Studio 中禁用或修复 #ifdef-sensitive 着色和智能感知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14586672/

相关文章:

C# 文本框按键控件帮助

visual-studio-2010 - 计划将VS 2005升级到VS 2010

visual-studio-2013 - Visual Studio 2013 中的 Typescript 类和接口(interface)突出显示

html - 如何对 Emacs 进行编程以语法突出显示以数字指定的 html 字符引用

visual-studio - 无法创建新项目或项目 : Visual Studio 2010 dialog initialization exception

visual-studio - 如何为 Visual Studio Web 性能测试请求设置 "Content-Length"?

vb.net - 为什么VS2005/VB.NET使用Dispose(处置为 bool 值)重载来实现IDisposable接口(interface)?

javascript - 如何重新触发 GitHub 的语法荧光笔、Linguist?

.net - 针对 .lib 编译的 C++/CLI 托管 DLL 无法加载,具有 .dll 依赖性。 (VS2010)

c# - 如何在 C#.NET 中关闭整个应用程序后结束进程?