VS Code,更改变量的颜色主题

VS Code, changing color theme for variables

在 VS Code 中,有谁知道如何更改 C++ 变量名称的颜色主题。我可以更改函数、注释、关键字的颜色,但我无法让变量起作用。任何帮助都将非常感谢。

您可以编辑相应的主题*.json文件。例如,如果您使用 Dark+(默认深色) 主题,您可以在 extensions/theme-defaults/themes/dark_plus.json 找到主题 json 文件。在此文件中,我们找到以下文本匹配主题规则:

{
    "name": "Variable and parameter name",
    "scope": [
        "variable",
        "meta.definition.variable.name",
        "support.variable",
        "entity.name.variable"
    ],
    "settings": {
        "foreground": "#9CDCFE"
    }
}

请注意,某些主题未定义变量范围的样式,因此您必须添加自己的样式(如上面的代码片段)。也不是所有的变量命名风格都在 c++ 语法文件中定义。有关如何添加特定命名样式语法的更多详细信息,请参阅 .

更新:现在可以使用 C++ 扩展。支持@TheBat 的回答,因为他最初发布了更新。范围是 variable.other.local,他的回答显示了要添加到您的设置文件中的内容。

注意:如果您没有扩展程序,下面的答案仍然准确

我是 VS Code C++ 语法的维护者,遗憾的是还没有办法改变所有 C++ 变量的颜色,Python 语法是相同的方法。你可以改变source.cpp的颜色,这会改变默认颜色,你可以用variablevariable.parameter改变一些现有变量的颜色,但这仍然不会影响很多未标记的变量。

我们正在努力改变这一点,但这需要相当长的时间。 对于一般范围名称,请查看 https://macromates.com/manual/en/language_grammars#naming-conventions

自发布原始答案以来,这已经发生了变化,现在已经过时了。 正如@alex-myers 在评论中提到的,您可以使用 TextMate 来定位智能感知令牌。

例如:

"editor.tokenColorCustomizations": {
    "[Visual Studio Dark]": {
        "textMateRules": [
            {
                "scope": "variable.other.local",
                "settings": {
                    "foreground": "#FF0000",
                }
            }
        ]
    }
}

参见:https://code.visualstudio.com/docs/cpp/colorization-cpp