VSCode如何高亮显示代码中的TODO待办事项 - Todo Tree插件扫描与面板管理

星婷君_1530

星婷君_1530

2026-03-25

1044人浏览

原创

todo tree插件默认仅识别大写todo、fixme、xxx,小写或带标点的变体需自定义正则;扫描范围受vscode exclude配置影响;跳转错位源于tagregex捕获组不准确;团队需统一配置至.settings.json。

vscode如何高亮显示代码中的todo待办事项 - todo tree插件扫描与面板管理

Todo Tree插件为什么扫不到我的 TODO 注释

默认只识别大写的 TODO、FIXME、XXX,小写 todo 或带空格/标点的变体(比如 // todo:)直接被忽略。

常见错误现象:写完 // todo 优化这里,左侧树里空空如也;或者用 Python 的 # TODO 能扫到,但 # todo 就不出现。

  • 打开设置(Ctrl+,),搜 todo-tree.tree.showTags,确保为 true
  • 搜 todo-tree.general.tags,改为你需要的正则数组,例如:
    ["TODO", "FIXME", "todo", "fixme"]
  • 注意:值是字符串数组,不是单个字符串;大小写敏感,想匹配大小写混用就用正则,比如 "(?i)todo"
  • 如果项目用了自定义注释前缀(如 ## BUG),也要加进这个数组,否则不会进树

扫描范围总漏掉某些文件或文件夹

不是插件“没扫”,而是 VSCode 默认跳过 node_modules、.git 等目录,且 Todo Tree 会继承 VSCode 的 files.exclude 和 search.exclude 配置。

使用场景:你在 src/utils/ 下写了 TODO,但面板里没显示,大概率是该路径被某层 exclude 规则挡住了。

  • 检查工作区设置里的 search.exclude,删掉误配的通配符(比如 "**/utils/**": true)
  • 确认没有在 .vscode/settings.json 里写死排除了目标目录
  • Todo Tree 自身有 todo-tree.general.includeGlobs 和 todo-tree.general.excludeGlobs,优先级高于全局 search 排除,适合精准控制
  • 如果只查当前打开的文件,记得关掉 todo-tree.general.scanMode 的 workspace 模式,切到 openFiles

点击树节点跳转错行或定位偏移

本质是正则捕获组没对齐 —— 插件靠正则从注释行提取内容,如果正则把注释符号(//、#)也包进去了,光标就会停在斜杠上,而不是文字开头。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载

性能影响不大,但每次点击都要手动挪光标,积少成多很烦。

  • 检查 todo-tree.general.tagRegex 设置,默认值通常够用,别乱改成 /(//|#)s*(TODO|FIXME)/ 这种全捕获写法
  • 正确写法应只捕获 tag 后的文字部分,例如:
    /(//|#)\s*(TODO|FIXME):?\s+(.*)$/
    ,其中 (.*) 是第 3 组,才是跳转锚点
  • 如果用了自定义 tag,务必同步更新正则,否则匹配失败会导致整行无法跳转
  • Markdown 文件中 <!-- TODO --> 这类注释需额外配置正则,原生不支持

多人协作时 Todo Tree 面板显示不一致

根本原因:todo-tree 的配置项没进 .vscode/settings.json,有人本地改了 tags 却没提交,别人拉代码后还是旧规则。

容易踩的坑是以为“装了插件就自动同步”,其实插件行为完全由用户配置驱动,和代码无关。

  • 把关键配置写进项目级 .vscode/settings.json,至少包括:todo-tree.general.tags、todo-tree.general.includeGlobs
  • 避免用 todo-tree.tree.autoRefresh 的默认 true,它会在文件保存时触发扫描,可能干扰 Git 暂存(尤其大仓库)
  • 如果团队用 Prettier 或 ESLint,确认它们没格式化掉 TODO 前的空格——有些规则会删行首空格,导致正则匹配失败
  • CI 或预提交检查里没法跑 Todo Tree,它纯属编辑器侧功能,别指望它替代代码审查

正则写错、exclude 配置嵌套太深、跨语言注释前缀不统一——这三处最容易反复出问题,调一次不等于一劳永逸。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

vscode

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2015

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

2882

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

996

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3259

7

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1618

5

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.04

2404

5

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

2023.10.24

5884

49

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

2023.11.24

5149

6

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

2024.03.22

6874

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程