相关疑难解决方法(0)

如何在VSCode扩展中自定义自定义语法标记的颜色

TLDR; 我如何使用扩展名着色扩展名定义的语法,而不是实际上是用户必须启用的颜色主题?

我正在尝试将这个Sublime Text插件(​​ToDone)移植到VSCode.

它为待办事项列表创建语法,然后使用语法突出显示来强调重要任务,静音已完成的任务等.

我发现"editor.tokenColorCustomizations",通过自定义颜色主题.当我在用户设置中使用它时,它可以使用新语法,但是当我package.json#contributes在扩展清单的部分中使用它时,它会失败.

{
    "contributes": {
        "languages": [
            {
                "id": "todone",
                "aliases": [
                    "ToDone",
                    "To-Done"
                ],
                "extensions": [
                    ".todone",
                    ".todo"
                ]
            }
        ],
        "grammars": [
            {
                "language": "todone",
                "scopeName": "text.todone",
                "path": "./todone.tmLanguage"
            }
        ],
        "configurationDefaults": {
            "[todone]": {
                "editor.insertSpaces": false,
                "editor.tokenColorCustomizations": {
                    "textMateRules": [
                        {
                            "scope": "symbol.definition.task-heading.todone",
                            "settings": {
                                "foreground": "#ff8800"
                            }
                        }
                    ]
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,语法似乎没问题 - 它正是Sublime插件正在使用的内容,并且正确应用了用户设置中的颜色.此外,设置的格式似乎正常,因为"editor.insertSpaces"正在应用并且颜色在用户设置中存在时正在工作.

最后,我在扩展package.json中'Warning' 'Unknown editor configuration …

syntax-highlighting visual-studio-code vscode-extensions vscode-settings

11
推荐指数
1
解决办法
1863
查看次数