【问题标题】:VS Code, changing color theme for variablesVS Code,更改变量的颜色主题
【发布时间】:2019-07-24 01:33:36
【问题描述】:
在 VS Code 中,有人知道如何更改 C++ 变量名称的颜色主题。我可以更改函数、cmets、关键字的颜色,但我无法让变量起作用。任何帮助都会非常感谢。
【问题讨论】:
标签:
visual-studio-code
vscode-settings
vscode-extensions
【解决方案1】:
您可以编辑相应的主题*.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"
}
}
请注意,有些主题没有为变量范围定义样式,因此您必须添加自己的样式(如上面的 sn-p)。此外,并非所有样式的变量命名都在 c++ 语法文件中定义。有关如何添加特定命名样式语法的更多详细信息,请参阅this answer。
【解决方案2】:
更新:现在可以通过 C++ 扩展来实现。支持@TheBat 的回答,因为他最初发布了更新。范围是variable.other.local,他的回答显示了要添加到您的设置文件中的内容。
注意:如果您没有扩展名,以下答案仍然准确
我是 VS Code C++ 语法的维护者,遗憾的是还没有一种方法可以更改所有 C++ 变量的颜色,Python 语法也是如此。您可以更改source.cpp 的颜色,这将更改默认颜色,您可以使用variable 和variable.parameter 更改一些现有变量的颜色,但这仍然不会影响许多未标记的变量。
我们正在努力改变这一点,但这需要相当长的时间。
对于一般范围名称,请查看https://macromates.com/manual/en/language_grammars#naming-conventions
【解决方案3】:
自从原始答案发布以来,这已经发生了变化,现在已经过时了。
正如 cmets 中提到的 @alex-myers,您可以使用 TextMate 来定位智能感知令牌。
例如:
"editor.tokenColorCustomizations": {
"[Visual Studio Dark]": {
"textMateRules": [
{
"scope": "variable.other.local",
"settings": {
"foreground": "#FF0000",
}
}
]
}
}
见:https://code.visualstudio.com/docs/cpp/colorization-cpp