// bug 不变色是因为未配置进 better-comments.tags 列表;需在 settings.json 中添加全大写无空格的 tag 对象,如 {"tag": "bug", "color": "#ff0000"},并确保语法正确、文件重载生效。

Better Comments 默认只高亮 TODO、FIXME、NOTE、HACK、XXX 和特殊符号(如 !、?、*),其他自定义词(比如 BUG、REVIEW、OPTIMIZE)不会变色——不是插件失效,是根本没被配置进识别列表。
为什么 // BUG 还是灰色?
插件默认不识别 BUG,哪怕你写了 // BUG: 接口未处理 401,它也按普通注释渲染。原因有三:
-
tag值必须全大写、纯字母、无空格无符号(BUG_FIX或bug都无效) - 配置必须写在
settings.json的better-comments.tags数组里,拼错字段名(如写成betterComments.tags少短横线)就无效 - 改完保存后不用重启 VSCode,但需重新打开当前文件,或执行
Developer: Reload Window才能刷新渲染
怎么添加自定义标签(比如 REVIEW、BUG)
打开 VSCode 设置(Cmd + , 或 Ctrl + ,),搜 “better comments”,点击 “Edit in settings.json”。在 JSON 根对象内插入或修改 better-comments.tags 数组:
"better-comments.tags": [
{ "tag": "TODO", "color": "#ff8c00", "strikethrough": false },
{ "tag": "BUG", "color": "#ff0000", "strikethrough": true },
{ "tag": "REVIEW", "color": "#9C27B0", "strikethrough": false }
]
注意:
- 每个
tag必须紧贴//后无空格,即// BUG:有效,// BUG:失效 - 小写
todo或带下划线的opt_improve不匹配 - 如果用了 Prettier 或 ESLint,保存时可能自动加空格,导致前缀失效;可临时禁用格式化验证
为什么 .md 或 .sh 文件里的 // TODO 不高亮?
Better Comments 默认不启用对 plaintext、markdown、shellscript 等语言的支持。现象是:在 .js 里 // TODO 变黄,在 .md 里仍是灰色。
- 确认当前文件语言 ID:按
Cmd+Shift+P→Developer: Inspect Editor Tokens and Scopes,看右上角显示的languageId - 若想对 Markdown 启用,需显式配置:
"better-comments.highlightLanguageIds": ["javascript", "python", "markdown"] - 更保守的做法是禁用干扰项:
"better-comments.ignoreLanguageGrammars": ["plaintext"],避免误匹配纯文本文件
颜色被主题覆盖了怎么办?
某些自定义主题(尤其第三方暗色主题)会覆盖插件设定的颜色,导致 // FIXME 看起来和普通注释一样。
- 临时切换为 VSCode 自带的
Default Dark+主题,验证是否为样式冲突 - 检查
settings.json中是否有其他插件或主题相关配置干扰了editor.tokenColorCustomizations - 特殊符号(
!、?)的颜色由better-comments.highlightSpecialCharacters控制,默认开启;关掉就全失效
settings.json 或工作区 .vscode/settings.json 里,而后者常被忽略或未提交——团队协作时,务必把 better-comments.tags 写进项目级配置,并确保 .vscode/ 目录已纳入版本管理。











