VSCode:用户设置中的 TextMate 正则表达式
VSCode: TextMate Regex in User Settings
我正在尝试更改主题以使其更适合我的日常使用,但我在尝试自定义特定单词或模式时遇到了一些问题。
我目前正在使用这种格式;
"editor.tokenColorCustomizations": {
"textMateRules": [
{
"scope": "comment",
"settings": {
"foreground": "#ff0000",
}
},
]
}
是否可以格式化特定关键字或模式而不是范围?
要将语法突出显示应用于特定关键字和其他语言结构,您需要编写一个带有语法的扩展来解析该语言的语法。当您编写这样的扩展时,您还定义了每个语言结构的范围。
例如,在语言支持扩展中,我可能会匹配关键字 function
并为其指定范围 entity.name.function
:
<key>FunctionKeyword</key>
<dict>
<key>match</key>
<string>function</string>
<key>name</key>
<string>entity.name.function</string>
</dict>
作为最终用户,您可以覆盖主题为范围着色的方式,但您无法更改语言支持为语言构造分配范围的方式。
TL;DR:不,你不能。
我正在尝试更改主题以使其更适合我的日常使用,但我在尝试自定义特定单词或模式时遇到了一些问题。
我目前正在使用这种格式;
"editor.tokenColorCustomizations": {
"textMateRules": [
{
"scope": "comment",
"settings": {
"foreground": "#ff0000",
}
},
]
}
是否可以格式化特定关键字或模式而不是范围?
要将语法突出显示应用于特定关键字和其他语言结构,您需要编写一个带有语法的扩展来解析该语言的语法。当您编写这样的扩展时,您还定义了每个语言结构的范围。
例如,在语言支持扩展中,我可能会匹配关键字 function
并为其指定范围 entity.name.function
:
<key>FunctionKeyword</key>
<dict>
<key>match</key>
<string>function</string>
<key>name</key>
<string>entity.name.function</string>
</dict>
作为最终用户,您可以覆盖主题为范围着色的方式,但您无法更改语言支持为语言构造分配范围的方式。
TL;DR:不,你不能。