todo tree 默认仅识别大写 todo/fixme 等,小写或带符号的注释(如 // todo:、// fixme(username):)需配置 todo-tree.general.tags 和 todo-tree.regex.regex 才能匹配。

装完不配,90% 的 TODO 会漏掉、跳转错行、甚至卡死编辑器——尤其在 Vue/TSX 项目或含大量生成文件的工程里。
为什么刚装的 Todo Tree 扫不到 // todo: 或 // FIXME(username):
默认只认大写的 TODO、FIXME、XXX,小写、带括号、冒号、空格的变体全被忽略。这不是插件坏了,是正则没覆盖到。
-
todo-tree.general.tags必须设为字符串数组,比如["TODO", "todo", "FIXME", "fixme", "NOTE", "note"];写成单个字符串或对象会失效 -
todo-tree.regex.regex要能提取冒号后的内容,推荐用:/(//|#|<!--)\s*(TODO|todo|FIXME|fixme|NOTE|note)[ :(]?(.*)$/(注意反斜杠要双写) - 如果注释像
// TODO(username):这样带括号,正则里没加[ :(]?就会匹配失败,整行进不了树
点击侧边栏 TODO 却跳转到 // 符号上,不是文字开头
本质是正则捕获组错位:插件靠第 3 组 (.*) 定位光标位置,如果正则把 // 或 # 也包进去了,光标就停在注释符号上。
- 检查
todo-tree.regex.regex,确保只有 tag 后的文字部分被第 3 组捕获,例如(.*)$是最后一组 - 别用
/(//|#)s*(TODO|FIXME)/这种写法——它没留出内容捕获组,跳转锚点丢失 - Vue/TSX 文件里用
<!-- TODO -->,原生不支持,必须在正则里显式加上











