<p>Comment Anchors 插件需启用且 keywords 非空,关键词须在注释开头并匹配语言语法(如JS用// TODO:,Python用# TODO:),保存文件后才扫描;自定义正则须加边界且双写反斜杠,否则静默失效。</p>

Comment Anchors 插件必须启用且关键字未被清空
注释跳转失效,八成是插件装了但默认关键字被手动删掉了。VSCode 的 Comment Anchors 不会自动识别任意带 TODO 的注释——它只扫描配置项 commentAnchors.keywords 中列出的关键词,且要求这些词出现在注释开头(如 // TODO:,不是 // 这里要 TODO)。
检查方式:Cmd + , 打开设置 → 搜 comment anchors keywords → 确认值类似:["TODO", "FIXME", "NOTE", "HACK", "XXX"]。如果显示为空数组或只有自定义项,就得补全;若用 settings.json 手动编辑,注意语法是 JSON 数组,不能漏掉引号和逗号。
不同语言注释语法必须严格匹配
插件按语言语法解析注释行,//、#、/* */ 不能混用。比如在 Python 文件里写 // TODO,插件直接忽略;在 JS 里写 # FIXME 同样无效。
- JavaScript/TypeScript:用
// TODO:或/* TODO: */ - Python:只认
# TODO:(注意是井号,不是双斜杠) - CSS/SCSS:必须用块注释
/* NOTE: */,单行//不支持 - JSON/YAML:不支持注释,自然也无法锚定
保存文件后插件才扫描,改完注释记得 Ctrl+S,别依赖自动保存延迟。
List Anchors 命令找不到结果?先确认文件是否被索引
运行 Comment Anchors: List Anchors 后列表为空,常见原因不是插件坏了,而是当前文件没被纳入工作区,或路径含中文/空格导致解析失败。
- 确保文件已保存(未保存的临时文件不会被扫描)
- 检查 VSCode 左下角状态栏是否显示语言模式,比如显示
Plain Text而非JavaScript,那注释格式就不被识别 - 多根工作区中,插件默认只处理当前激活的根目录下的文件,其他根目录的注释不会出现在同一个列表里
- 如果项目用了符号链接,部分系统(尤其是 macOS)可能因权限限制跳过扫描
自定义关键字正则容易写错边界
想加 REVIEW 或 IDEA 这类内部标记?别直接写 "REVIEW",否则 PREVIEW 也会被误命中。必须用单词边界 :
"commentAnchors.customKeywords": ["\bREVIEW:\b", "\bIDEA:\b"]
注意:settings.json 中反斜杠要双写,Windows 路径同理;冒号是可选的,但加上更安全,避免匹配到 REVIEWED;大小写敏感默认开启,review 小写不会触发。
真正容易被忽略的是:自定义正则一旦出错(比如漏掉转义、括号不配对),整个 customKeywords 配置会静默失效,插件退回到只用默认关键词——你得去开发者工具 Console 里搜 comment anchors 才能看到报错提示。


















