扩展VS Code语法高亮

时间:2017-10-24 07:44:46

标签: html visual-studio-code syntax-highlighting

有没有办法使用用户设置(或不涉及编写扩展名的类似方法)扩展特定项目的Visual Studio Code语法高亮显示?

我使用的是颜色主题,但想要更改HTML标记的特定命名空间的语法颜色,例如。

<div></div>使用主题

中的标准着色

<ext:div></ext:div>使用不同的颜色

2 个答案:

答案 0 :(得分:1)

,VSCode中没有任何内容(无扩展名)会突出显示任意正则表达式。 (嗯,有搜索功能,但是突出显示是暂时的。)

编写扩展名或使用现有的扩展名简短执行时,最有效的突出显示自定义方法是textMateRuleseditor.tokenCustomizationssettings.json机制。

现在,内置的TextMate语法将“ ext:div”简单地分类为无法识别,因此这种方法最好的办法是更改所有无法识别的标签的突出显示。看起来像这样:

    // https://code.visualstudio.com/docs/getstarted/themes
    "editor.tokenColorCustomizations": {
        "textMateRules": [
            {
                "scope": [
                    "meta.tag.other entity.name.tag",
                ],
                "settings": {
                    "foreground": "#080",
                    "fontStyle": "bold",
                },
            },
        ],
    },

屏幕截图:

Screenshot of using textMateRules to match ext:div tag

另请参阅this answer,其中详细介绍了添加textMateRules的过程。

答案 1 :(得分:0)

如果您没有找到更好,更标准的方法来执行此操作,则扩展程序TODO Highlight将对您有效。它通常用于突出显示自己的特殊注释,如“FIXME”,但可以在您的情况下使用正则表达式:

  "todohighlight.keywordsPattern": "\\s*<\\s*\\/{0,1}ext:.*\\s*>",

然后你可以随意设置着色:

"todohighlight.defaultStyle": {
    "color": "red",
    // "letterSpacing": "1px",
    // "backgroundColor": "rgba(170,102,0,1)",
    "backgroundColor": "transparent"
    // "borderRadius": "4px",
    "isWholeLine": false
},