有没有办法使用用户设置(或不涉及编写扩展名的类似方法)扩展特定项目的Visual Studio Code语法高亮显示?
我使用的是颜色主题,但想要更改HTML标记的特定命名空间的语法颜色,例如。
<div></div>
使用主题
<ext:div></ext:div>
使用不同的颜色
答案 0 :(得分:1)
否,VSCode中没有任何内容(无扩展名)会突出显示任意正则表达式。 (嗯,有搜索功能,但是突出显示是暂时的。)
编写扩展名或使用现有的扩展名简短执行时,最有效的突出显示自定义方法是textMateRules
中editor.tokenCustomizations
的settings.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",
},
},
],
},
屏幕截图:
另请参阅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
},