better comments 默认仅高亮 todo、fixme、note 等预设标签,自定义标签如 bug 或 review 需手动添加至 settings.json 的 better-comments.tags 数组中,且 tag 值必须全大写、纯字母、无空格符号,否则不生效。

默认安装后只识别 TODO、FIXME、NOTE 等几个固定标签,你写的 BUG 或 REVIEW 不会变色——不是插件失效,是根本没被配置进识别列表。
安装后为什么部分注释不生效
Better Comments 默认只对 // TODO、// FIXME、// NOTE、// HACK、// XXX 和特殊符号前缀(如 // !、// ?)做高亮。其他任意自定义词(比如 // BUG、// OPTIMIZE)必须手动加到 better-comments.tags 配置里,否则一律按普通灰色注释渲染。
常见错误现象:
-
// BUG: 接口返回空数组未处理保持灰色,毫无提示 - 改写成
// ! BUG也不行——!是独立前缀,不能和BUG混用 - 在
settings.json里写了小写"tag": "todo",结果不生效(必须大写无空格)
如何正确添加自定义注释标签
打开 VSCode 设置(Cmd + , 或 Ctrl + ,),搜 “better comments”,点击 “Edit in settings.json”。在 JSON 根对象内插入或修改 better-comments.tags 数组:
"better-comments.tags": [
{
"tag": "BUG",
"color": "#ff0000",
"strikethrough": true,
"backgroundColor": "transparent"
},
{
"tag": "REVIEW",
"color": "#FF8C00",
"strikethrough": false,
"backgroundColor": "transparent"
}
]
关键点:
- 每个
tag值必须全大写、纯字母、无空格无符号(BUG_FIX或bug都无效) -
// !和// ?这类符号前缀是独立规则,不走tags数组,不要试图把"tag": "!"写进去 - 改完保存后,**不用重启 VSCode**,但需重新打开当前文件或重载窗口(
Cmd+Shift+P→Developer: Reload Window)才能刷新渲染
为什么 Markdown 或 Shell 文件里注释没颜色
Better Comments 默认只在主流编程语言(如 javascript、python、typescript)中启用。像 markdown、shellscript、plaintext 这些语言 ID 不在默认白名单里,所以 // TODO 在 .md 里就是普通文本。
解决方法是在 settings.json 中显式开启支持:
"better-comments.languageSupport": ["javascript", "python", "typescript", "markdown", "shellscript"]
或者更保守地禁用干扰项:
"better-comments.ignoreLanguageGrammars": ["plaintext"]
注意:highlightPlainText 设为 false 可全局关闭对纯文本文件的着色,避免在日志或配置片段里误触发。
团队协作时注释样式不一致怎么办
个人设置写在用户级 settings.json 里,别人看不到。要统一效果,必须把 better-comments.tags 和 better-comments.languageSupport 配置下沉到项目根目录下的 .vscode/settings.json。
这样新成员克隆仓库后,只要打开文件夹,VSCode 就自动读取并应用团队约定的注释规范。
容易忽略的细节:
-
.vscode/settings.json里的配置优先级高于用户设置,但不会覆盖所有用户设置项,只影响明确声明的部分 - 如果团队用了
eslint或prettier,记得确认它们不禁止// REVIEW这类自定义注释格式(一般不会,但某些严格规则可能报 warning) - 别把
backgroundColor设成不透明色(比如"#000000"),否则深色主题下文字会看不见
颜色再丰富,也救不了没意义的注释。真正起作用的是谁写、什么时候写、写完有没有人跟进——插件只是把“该看的”推到眼前,剩下的得靠流程兜住。











