7

我正在尝试将单词and, or, not(用于 Lua)添加到名为“Visual Studio Dark”的 Visual Studio Code 主题中,该主题包含在 vscode 常规下载中,并且在“选择颜色主题”屏幕中称为“Dark (Visual Studio )"

我在网上搜索并找到了这个页面: Visual Studio Code Themes。该页面通过其中的图片清楚地表明,通过在 settings.json 文件中添加设置,我可以完成此操作。我添加了"editor.tokenColorCustomizations"该页面上第二张和第三张图片中的设置。

通过进一步链接的两页我发现了这个页面:Scope Naming解释了为了将运算符“and”添加到我的规则中,我需要有范围:"keyword.operator.word"

然后,我使用在线颜色选择器从具有我想要的代码的语法突出显示图片中获取我需要的特定颜色。(我找不到定义这个的文件,但这将是第二个问题。)
这就是我想出的:

"editor.tokenColorCustomizations": {
    "textMateRules": [
        {
            "scope": "keyword.operator.word",
            "settings": {
                "foreground": "#569BD2"
        }
    ]
}

但是在保存文件后,关闭窗口并再次打开它,这就是我看到的:

它似乎不起作用

4

1 回答 1

9

Developer: Inspect TM scopes命令所示,andor运算not符不使用keyword.operator.word范围 - 相反,它们使用keyword.operator.lua

因此,以下工作:

"editor.tokenColorCustomizations": {
    "textMateRules": [
        {
            "scope": "keyword.operator.lua",
            "settings": {
                "foreground": "#569BD2"
            }
        }
    ]
}

请注意,范围名称并未指定它是哪种运算符,因此这将适用于所有运算符,而不仅仅是and,ornot。改变这一点的唯一方法是修改语言语法/TmLanguage 文件本身,在 Lua 的情况下,它随 VSCode 一起提供。

于 2017-09-05T07:43:15.197 回答