要让 todo highlight v2 识别 hack、note 等自定义标记,需在 settings.json 中配置 todo.highlight.keywords 添加对应关键词对象,并确保 todo.highlight.enable 为 true、include/exclude 路径正确;颜色推荐中性色+transparent 背景;正则匹配需用 customhighlight 配置。

如何让 TODO Highlight V2 正确识别自定义标记(如 HACK、NOTE)
默认只高亮 TODO、FIXME、BUG,其他关键词(比如你写的 HACK 或 NOTE)不会被识别——不是插件坏了,是没配置进规则里。
打开 VSCode 设置(Ctrl+, 或 Cmd+,),搜索 todo.highlight.keywords,点击「在 settings.json 中编辑」。添加你想要的关键词对象,例如:
"todo.highlight.keywords": [
{
"text": "HACK",
"color": "#FF8C00",
"backgroundColor": "transparent",
"overviewRulerColor": "#FF8C00"
},
{
"text": "NOTE",
"color": "#4CAF50",
"backgroundColor": "transparent",
"overviewRulerColor": "#4CAF50"
}
]
注意:text 区分大小写;如果想匹配 hack 小写形式,得单独再写一条;overviewRulerColor 控制右侧滚动条上的色块,不设就看不到缩略标记。
为什么改了 keywords 没生效?检查这三处
常见失效不是配置错,而是被其他设置覆盖或路径限制干扰:
-
todo.highlight.include如果设了过于严格的 glob 模式(比如只包含**/*.ts),那.js或.py文件里的标记就不会亮——建议用**/*.{ts,js,py,md}显式列出 -
todo.highlight.exclude可能误排除了当前目录,比如写了node_modules/**却漏掉了**/node_modules/**,导致某些子目录被跳过 - 工作区设置了
"todo.highlight.enable": false,会直接关闭全部功能,优先检查这个布尔值是否为true
颜色怎么配才不刺眼又清晰?避开两个坑
VSCode 主题会影响最终显示效果,尤其暗色主题下高饱和色(如 #FF0000)容易发虚或看不清文字:
- 别用纯白
#FFFFFF或纯黑#000000作color,它们在多数主题下会和前景色冲突;推荐用带灰度的中性色,比如#E67E22(橙棕)、#3498DB(蓝) -
backgroundColor设成transparent最安全;如果非要加底色,透明度必须足够低(如rgba(236, 240, 241, 0.3)),否则会遮挡行号或语法高亮 - 终端或 Markdown 预览中不渲染背景色,只靠
color和overviewRulerColor传递信息,这两处颜色最好保持一致
想让 TODO Highlight 支持正则匹配(比如 @review:xxx)怎么办?
原生不支持任意正则,但可以通过 todo.highlight.customHighlight 实现近似效果:
它允许你用正则定义「整行匹配模式」,然后指定样式。例如高亮所有以 @review: 开头的注释行(适用于 TypeScript/JS 的 JSDoc 风格):
"todo.highlight.customHighlight": {
"@review": {
"regex": "(?:^|\s)@review:(?:\s.*|$)",
"filterRegex": "(?:^|\s)@review:(?:\s.*|$)",
"color": "#9B59B6",
"overviewRulerColor": "#9B59B6"
}
}
注意:filterRegex 必须和 regex 一致,否则可能漏匹配;该配置和 keywords 是并列关系,不是替代关系;正则中不要用 g 标志,插件内部已全局处理。
正则能力有限,复杂场景(如跨行匹配、嵌套结构)还是得靠专门的 lint 工具,这个插件只适合轻量级视觉标记。











