我想在我的 VS Code 主题中自定义 C# 类名称的颜色,但只能自定义 XML 注释中的引用。例如:
/// <see cref="Content"/> // (1) Should be customized.
class Content {} // (2) Should be the default.
根据范围检查员的说法,(1)和(2)都被着色为
entity.name.type.class
。
(1) 的textmate 范围 是:
string.quoted.double.cs
meta.tag.cs
comment.block.documentation.cs
source.cs
(2) 的textmate 范围 是:
entity.name.type.class.cs
source.cs
我试过更新
settings.json
:
{
"editor.tokenColorCustomizations": {
"[Visual Studio 2019 Dark]": {
"textMateRules": [
{ "scope": "entity.name.type.class", "settings": { "foreground": "#FF0000" } },
{ "scope": "comment.block.documentation.cs entity.name.type.class", "settings": { "foreground": "#00FF00" } },
{ "scope": "comment.block.documentation.cs>entity.name.type.class", "settings": { "foreground": "#0000FF" } },
{ "scope": "comment.block.documentation.cs+entity.name.type.class", "settings": { "foreground": "#00FFFF" } }
]
}
}
}
只有第一条规则有效,但同时更新 (1) 和 (2),而不仅仅是 (1)。
版本:1.77.1
提交:b7886d7461186a5eac768481578c1d7ca80e2d21
操作系统:Windows_NT x64 10.0.19044
您现在可以获得的最好的为 VS Code 的内置 C# 支持定义的 textmate 范围 是在 C# 文档块的 C# 元标记中选择all C# 双引号字符串。 (你的前提是错误的。你声明“According to the scope inspector, both (1) and (2) is colored as
entity.name.type.class
.”然后立即表明那是错误的,我已经在本地验证过)。
他们可以做我上面描述的事情的方式是使用后代选择器:
comment.block.documentation.cs meta.tag.cs string.quoted.double.cs