Visual studio code 同一TM范围内的单词的语法突出显示颜色如何不同? 在我的C++代码中,用我的一些语法高亮显示方案,TyPulfDWORD与它描述的变量不同,但是如果我看一下TM的两个范围,它们都是相同的:

Visual studio code 同一TM范围内的单词的语法突出显示颜色如何不同? 在我的C++代码中,用我的一些语法高亮显示方案,TyPulfDWORD与它描述的变量不同,但是如果我看一下TM的两个范围,它们都是相同的:,visual-studio-code,Visual Studio Code,控制这种行为的是什么黑魔法?最后,我想在我的设置中覆盖这个主题的蓝色是什么导致DWORD有蓝色,尽管TextMate Scopes Inspector显示了一些不同的东西?我认为它是一个,可能是由您在我的VSCode中安装的扩展应用的,DWORD不是那样的颜色,即使包括windows.h 处理launch.json文件的方式可以看出这种行为的另一个例子:在任何地方创建一个名为launch.json的文件,并在其中放入几个字段,包括一个名为version的字段。版本属性将是灰色的,与其他属性不同,

控制这种行为的是什么黑魔法?最后,我想在我的设置中覆盖这个主题的蓝色

是什么导致DWORD有蓝色,尽管TextMate Scopes Inspector显示了一些不同的东西?我认为它是一个,可能是由您在我的VSCode中安装的扩展应用的,DWORD不是那样的颜色,即使包括windows.h

处理launch.json文件的方式可以看出这种行为的另一个例子:在任何地方创建一个名为launch.json的文件,并在其中放入几个字段,包括一个名为version的字段。版本属性将是灰色的,与其他属性不同,不管TextMate检查器怎么说。顺便说一句,我已经提交了一份申请,要求去除灰色。以下是一个屏幕截图:

要确认这是由装饰引起的,请使用“帮助”→ 切换开发人员工具,单击选择元素图标默认Ctrl+Shift+C,然后单击感兴趣的文本。如果您看到一个名称以TextEditorDecorationType开头的类,则应用了修饰。截图:

不幸的是,我不知道如何跟踪哪个扩展正在添加装饰,除非单独禁用它们,直到它停止发生

一旦你找到了导致它的原因,它可能是可主题的。Microsoft有一个名为的示例扩展,它添加了一个主题装饰。您可以将其与您案例中的相关扩展进行比较。具体来说,在package.json中查找包含颜色的文件

更新2019-0904:如Johann所指出的,C++ CppOutlook扩展,如突出TyPulf名称,如DWORD。我最初没有观察到这种行为,因为我使用的是Light Visual Studio主题,它没有利用新功能。然而,光+和暗+主题可能是其他主题之一


但是,正如链接文章中所解释的,这些颜色的主题化方式不同于其他地方的主题颜色。扩展解析活动主题和任何settings.json定制中的活动TextMaterials,查找特定名称,然后相应地构建装饰,而不是提供命名颜色。因此,这里有多个层次的异常行为在起作用。

Aha!谢谢你给我指出了正确的方向——这是C/C++工具