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:不,你不能。