VSCode使用textMateRules自定义主题如何通过正则匹配高亮指定类名
VSCode自定义高亮指定类名的实现方案
原生textMateRules的scope字段仅支持匹配TextMate语法体系定义的token类型,不支持直接添加正则匹配具体的类名字符串,因此无法通过你当前的配置方式实现仅高亮A、B两个类名的需求。
可行实现方案
方案1:使用第三方Highlight插件(推荐,操作简单)
- 在VSCode扩展商店搜索并安装「Highlight」插件
- 在
settings.json中添加如下配置即可实现需求:
{ "highlight.regexes": { // 匹配独立的A、B单词,避免命中包含A/B的其他类名 "(\\b(A|B)\\b)": { "regexFlags": "g", "decorations": { "color": "#FF0000" } } } }
如果仅需要在当前项目生效,可以把以上配置写入项目根目录的.vscode/settings.json文件中,不会影响其他项目的高亮规则。
方案2:自定义TextMate语法注入(无插件,复杂度高)
如果不想安装第三方插件,可以针对你使用的编程语言编写自定义TextMate语法注入规则,给A、B两个类名单独分配专属的scope,再用textMateRules匹配这个专属scope修改颜色。该方案需要掌握TextMate语法的编写规则,适配成本较高,不推荐普通用户使用。
内容的提问来源于stack exchange,提问作者Valentin Vignal
相关产品推荐
相关产品推荐

