在C / C ++中,您可以在Eclipse编辑器中设置更多语言级别的颜色: 例如,函数参数,局部变量可以具有不同的颜色。 可以更改静态和全局可变颜色。可以配置宏和宏引用。
如何在Visual Studio Code中执行此操作?我不确定文本伴侣tmLanguage是否可以实现此目的。我找不到与此有关的任何文档。
答案 0 :(得分:3)
[请参见下面的v1.45更改]
您不仅限于主题提供的语义标记突出显示。您可以执行以下操作,自己为支持的语言语义标记选择颜色和字体样式:
还可以在用户中定义语义主题规则 设置:
"editor.tokenColorCustomizationsExperimental": { "property.readonly": { "foreground": "#35166d" }, "*.defaultLibrary": { "fontStyle": "underline" } }
尤其要注意https://github.com/microsoft/vscode/wiki/Semantic-Highlighting-Overview#how-can-i-find-out-what-semantic-tokens-are-available-and-how-they-are-themed中有关如何发现语义标记的信息。例如:
如果未列出semantic token type
,则该语言服务尚不支持它们。但是无疑,当他们这样做时,您将想要修改他们的一些颜色和字体样式选择。
vscode 1.45 将editor.tokenColorCustomizationsExperimental
重命名为editor.semanticTokenColorCustomizations
请参见https://github.com/microsoft/vscode/issues/96267
此语法在2020年4月的Insiders's Build中对我有用:
"editor.semanticTokenColorCustomizations": {
"enabled": true,
"rules": {
"enumMember": "#ff0000"
},
"[Default Dark+]": {
"enabled": true,
"rules": {
"variable.readonly": "#ff00ff"
},
}
},
TypeScript和JavaScript可以使用语义着色, 支持Java,C ++。默认情况下启用 内置主题并被主题扩展所采用。
editor.semanticTokenColorCustomizations
允许用户否决 主题设置并自定义主题。向所有主题添加语义样式的示例:```
"editor.semanticTokenColorCustomizations": { "enabled": true, "rules": { "property.readonly": { "foreground": "#35166d" }, "*.defaultLibrary": { "bold": true } } }
以上设置为所有
#35166d
常量和所有 默认库中出现的符号(例如Math
,setTimeout
)加粗。
向Dark +主题添加语义样式的示例:```
"editor.semanticTokenColorCustomizations": { "[Default Dark+]": { "enabled": true, "rules": { "parameter": { "underline": true }, "*.declaration": { "bold": true } } } }
The setting above underlines all parameters in the Dark + theme and makes all symbol declarations bold. Theming for semantic tokens is explained in more details in the [Semantic Highlighting Guide](/api/language-extensions/semantic-highlight-guide#theming).
奇怪的是,即使在以上enabled: true
中的"editor.semanticTokenColorCustomizations"
进行测试时,您仍然需要启用此设置:
"editor.semanticHighlighting.enabled": true
但这是默认设置。
答案 1 :(得分:1)
您可以了解有关scopes and syntax highlighting colors here的更多信息。
这是去年Microsoft/vscode issue 27894记录/要求的,由PR 29393实施。
请参见VSCode 1.15中的“ User definable syntax highlighting colors”,修改color theme。
答案 2 :(得分:0)
在撰写本文时,VSCode内部版本支持语义突出显示API。
有关一个非常简单的示例,请参见semantic tokens sample