我试图在vscode中改变rust中标点符号的语法突出显示,但它似乎对 * 分号,冒号,尖括号和括号 * 不起作用。
我注意到即使设置"*": "#660066"
也不能突出显示那些标点符号。那么rust-analyzer会有问题吗?
我的当前settings.json
:
{
"rust-analyzer.linkedProjects": [
"./Cargo.toml"
],
"editor.semanticTokenColorCustomizations": {
"[Dracula]": {
"enabled": true,
"rules": {
// "macro": "#fa7f38",
// "*": "#660066", // no effect on ';',':','<>','()','[]'
"attribute": "#fa7f38",
"attribute.bracket": "#fa7f38",
// "builtinAttribute": "#fa7f38",
"attributeBracket": "#fa7f38",
"generic": "#fa7f38",- // no effect on ';',':','<>','()','[]'
"bracket": "#fa7f38",
// "unresolvedReference": "#fa7f38",
"enumMember": "#cc9900", // works!
"namespace": "#99ccff", // works!
// Punctutation
"parenthesis": "#660066", // no effect on ';',':','<>','()','[]'
"brace": "#660066", // no effect on ';',':','<>','()','[]'
"colon": "#66ff33" // no effect on ';',':','<>','()','[]'
}
}
}
}
对于属性中的括号[]
也是如此,如#[cfg(test)]
。
到目前为止我所尝试的:
- 重新打开+重新加载vscode
- 重新安装 rust eclipse 分析仪
- 在vscode中重新打开打开的标签
有谁知道如何使它工作?
参考:rust-analyzer syntax highlighting,settings.json from reddit user
2条答案
按热度按时间slsn1g291#
您需要启用以下设置
rust-analyzer.semanticHighlighting.punctuation.enable
,否则rust-analyzer不会为标点发出语义突出标记j7dteeu82#
将以下内容放入settings.json文件中:
设置说明:
对标点符号使用语义标记。
当禁用时,rust-analyzer将仅为标点符号标记语义标记,当它们被标记修饰符或具有特殊角色时。
我假设这是为Add semantic token modifiers for punctuation #6152实现的。
另请参阅
rust-analyzer.semanticHighlighting.punctuation.separate.macro.bang
设置,该设置使Rust Analyzer在宏调用中为!
发出标点符号语义令牌,如果您想让Rust Analyzer为标点符号发出专门的语义令牌类型而不是通用的语义令牌类型,请参阅rust-analyzer.semanticHighlighting.punctuation.specialization.enable
。在撰写本文时,上述所有设置的默认值都是
false
。您可以在its package.json file中找到Rust Analyzer扩展定义的语义令牌类型列表。