语法着色 VSCode 扩展

Syntax coloring VSCode extension

提问人:grab 提问时间:2/16/2023 更新时间:2/18/2023 访问量:41

问:

我正在尝试进行扩展,需要为自定义语言的语法着色。我能够使用 yo 代码创建扩展并编辑.tmLanguage.json文件以匹配所需的语法。 例如在存储库中

"comment": {
  "patterns": [
    {
      "name": "comment.line.semicolon",
      "match": ";.*$"
    }
  ]
},

但是,我无法设置自定义颜色。唯一的方法是使用“editor.tokenColorCustomizations”编辑settings.json文件并提供 textMateRules。 例: 对于模式:

{
      "name": "positioning.FMAX",
      "match": "\\bFMAX\\b"
    },

textMate规则

{
      "name": "color.positioning.FMAX",
      "scope": "positioning.FMAX",
      "settings": {
        "foreground": "#ff0000",
        "fontStyle": "bold"
      }
    },

但是当我按 F5 测试插件时,这不起作用。因为settings.json不是扩展的一部分。 我在范围检查器中看到。

textmate scopes positioning.FMAX

但前景是

foreground  No theme selector

comment.line.semicolon 正在工作和着色;评论绿色

这是行不通的

{
      "name": "positioning.FMAX",
      "match": "\\bFMAX\\b",
      "settings": {
        "foreground": "#ff0000"
      }
 }

我只想要像setting.json一样的简单方法来着色语法。我已经尝试了一个多星期了。任何帮助非常感谢。

语法 vscode-extensions textmate

评论

0赞 grab 2/18/2023
我在这里找到了答案。stackoverflow.com/questions/46377151/......

答:

0赞 Rus 2/18/2023 #1

查看 vscode-extension-samples 存储库:https://github.com/microsoft/vscode-extension-samples/tree/main/theme-sample

您可以在 或 文件中描述您的颜色,并在 中package.json 中设置它。当 debbugging 开始时,请确保您的自定义主题被选为 VSCode 的当前主题jsontmThemecontributes.themes