don*_*zul 5 javascript parameters visual-studio-code vscode-settings
有没有办法为函数参数选择颜色,然后将该颜色保留在函数体中?例如:
我希望Hello在函数体上保持〜orange并且变量不是白色的,所以我可以区分参数和局部变量.
我想基本实现这个目标(webstorm):
请参阅为什么某些 VS Code 主题没有语义突出显示,以及如何为它们获得语义突出显示?,然后如果您特意禁用了所有语言的语义突出显示(请参阅设置editor.semanticHighlighting.enabled)或 JavaScript(这是本问题帖子所涉及的语言),或者如果您选择的主题默认情况下未启用语义突出显示,请阅读本节并且您故意不强制启用它(请参阅editor.semanticTokenColorCustomizations设置)。
从统计学上来说,如果您很着急(至少对于 JavaScript 代码),您可能会想跳过阅读本节。
一般来说(我试图在这里从 JavaScript 中抽象一点 - 如果您只关心 JavaScript,请跳过本段)这只是找出参数声明和参数引用的标记范围并更改它们的问题。使用命令面板Developer: Inspect Editor Tokens and Scopes中的命令并找出可以使用的令牌范围并相应地更新。也就是说...如果感兴趣的语言模式的 TextMate 语法具有这样的标记范围定义,使您能够做到这一点。如果没有,那么你就不走运了。editor.tokenColorCustomizations
对于 JavaScript,如果您只是使用 VS Code for JavaScript 内置的基于 TextMate 的语法突出显示(请参阅https://github.com/microsoft/vscode/blob/main/extensions/javascript/ syntaxes/JavaScript.tmLanguage.json),那么至少在撰写本文时,我认为您运气不好。当我尝试使用范围检查器时,我只看到了这一点:
variable.other.readwrite.js
meta.block.js
meta.function.js
source.js
Run Code Online (Sandbox Code Playgroud)
似乎没有什么可以让您更改参数引用的颜色以匹配参数声明的颜色,而不会弄乱其他非参数变量引用。
然后,如果您的主题将它们着色为不同的颜色,则可能是主题的某些特质(有意或无意 - 我不知道)。我刚刚浏览了几个内置主题,注意到大多数主题的 JS 参数声明和引用的颜色是相同的。在《日晒黑暗》中,情况并非如此。看看它的主题文件,我实际上不知道为什么。但我注意到,如果我手动为标准parameter令牌类型定义颜色,
"editor.semanticTokenColorCustomizations": {
"[Solarized Dark]": {
"rules": {
"parameter": "#ff0000"
}
}
}
Run Code Online (Sandbox Code Playgroud)
那么它将适用于声明和引用。我不明白为什么,但我现在没有心情去兔子洞。我要深入的是观察在声明和引用颜色相同的主题中,在范围检查器中的“语义标记类型”部分下,我还看到“ variable.parameter”,我不太确定它是什么这就是 - 无论它是基于语义的还是基于 TextMate 的突出显示,但非常值得注意的是,在Solarized Dark 主题文件中(至少在撰写本文时),您可以在属性中看到以下内容tokenColors:
{
"name": "Function argument",
"scope": "variable.parameter",
"settings": {}
},
Run Code Online (Sandbox Code Playgroud)
,我觉得很可疑。
对于真正想做相反的事情并以不同颜色声明的人来说,这是一个额外的提示,然后定义一个规则"parameter:declaration"(冒号后面的部分称为“修饰符”,并且declaration是标准修饰符之一)。
| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |