能否修改VSCode语法高亮,区分Python参数变量与关键字参数颜色?
如何单独区分Python函数参数和调用时的关键字参数进行语法高亮?
你可以通过区分不同的TextMate语法作用域(scope)来单独设置这两类参数的颜色——函数定义的参数和调用时的关键字参数对应的scope是不同的:
- 函数定义中的参数对应作用域:
variable.parameter.function - 函数调用中的关键字参数对应作用域:
variable.parameter.keyword
你之前的配置用了variable.parameter这个父级作用域,所以会同时匹配两类参数。只需要针对具体的子作用域设置即可,示例配置如下:
{ "editor.tokenColorCustomizations": { "textMateRules": [ { // 仅修改函数定义里的参数颜色 "scope": "variable.parameter.function", "settings": { "foreground": "#ec9" } }, { // 可选:显式设置调用时关键字参数为灰色(若主题默认已是灰色可省略) "scope": "variable.parameter.keyword", "settings": { "foreground": "#888888" } } ] } }
这样设置后,函数定义里的参数(比如def test(a):中的a)会变成你指定的#ec9颜色,而函数调用时的关键字参数(比如test(a=1)中的a)会保持灰色。
内容的提问来源于stack exchange,提问作者user1537366
相关产品推荐
相关产品推荐

