You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode TODO Highlight v2:如何设置高亮优先级实现分层注释高亮

解决VSCode注释颜色与TODO等关键词高亮冲突的问题

直接通过VSCode的textMateRules配置,利用token scope的层级优先级实现需求,具体步骤如下:

  1. 打开VSCode设置(快捷键Ctrl+,),搜索editor.tokenColorCustomizations,点击「编辑 in settings.json」。
  2. 将以下配置添加到settings.json中:
"editor.tokenColorCustomizations": {
  "textMateRules": [
    // 设置所有普通注释的颜色为#00cccc
    {
      "scope": "comment",
      "settings": {
        "foreground": "#00cccc"
      }
    },
    // 保留TODO/FIXME/REVIEW的默认高亮(继承主题原有颜色)
    {
      "scope": [
        "comment.tag.todo",
        "comment.tag.fixme",
        "comment.tag.review"
      ],
      "settings": {
        "foreground": "$theme.foreground"
      }
    }
  ]
}

关键说明:

  • 第一条规则针对最宽泛的comment scope,统一修改所有普通注释的颜色。
  • 第二条规则针对更具体的comment.tag.todo等scope(不同语言的scope可能略有差异),将这些关键词的颜色恢复为主题默认的前景色(也可直接指定自定义高亮色,比如#ffcc00)。由于更具体的scope优先级高于宽泛的comment,所以不会被普通注释的颜色覆盖。

确认正确scope的方法:

按Ctrl+Shift+P打开命令面板,输入「Developer: Inspect Editor Tokens and Scopes」并执行,将鼠标放在目标注释关键词上,即可查看对应的具体scope,确保配置中的scope与实际匹配。

之前排除正则无效的原因:

注释行通常带有//、/*等前缀,^(?!TODO:).+这类正则未考虑这些前缀,无法正确匹配;且正则规则若匹配整个注释行,会覆盖行内所有token的高亮,导致TODO等关键词被强制统一颜色,而用scope选择器是基于token层级的精准控制,优先级逻辑更可靠。

内容的提问来源于stack exchange,提问作者Alex F

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 07:35:02