扩展 VS Code 语法高亮
Extending VS Code syntax highlighting
有没有办法使用用户设置(或不涉及编写扩展的类似方法)来扩展 Visual Studio 特定项目的代码语法突出显示?
我正在使用颜色主题,但想更改 HTML 标签的特定命名空间的语法着色,例如
<div></div>
使用主题
中的标准颜色
<ext:div></ext:div>
使用不同的颜色
如果您找不到更好、更标准的方法来执行此操作,扩展程序 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
},
否,VSCode 中没有任何内容(无扩展名)会突出显示任意正则表达式。 (嗯,有搜索功能,但突出显示是暂时的。)
除了编写扩展或使用现有的扩展之外,最有效的高亮自定义方法是 settings.json
中 editor.tokenCustomizations
的 textMateRules
机制。
现在,内置的 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
的过程。
有没有办法使用用户设置(或不涉及编写扩展的类似方法)来扩展 Visual Studio 特定项目的代码语法突出显示?
我正在使用颜色主题,但想更改 HTML 标签的特定命名空间的语法着色,例如
<div></div>
使用主题
<ext:div></ext:div>
使用不同的颜色
如果您找不到更好、更标准的方法来执行此操作,扩展程序 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
},
否,VSCode 中没有任何内容(无扩展名)会突出显示任意正则表达式。 (嗯,有搜索功能,但突出显示是暂时的。)
除了编写扩展或使用现有的扩展之外,最有效的高亮自定义方法是 settings.json
中 editor.tokenCustomizations
的 textMateRules
机制。
现在,内置的 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
的过程。