PhpStorm TODO面板默认显示vendor等无关代码的待办,因Scope设为All Places;应切换为Project Files或自定义Scope过滤路径,再通过Patterns匹配TODO:HIGH/@alice等规则,配合Filters筛选,并重开窗口刷新缓存。

PhpStorm 的 TODO 面板默认不区分“谁写的”“在哪写的”“要不要现在做”,直接打开看到的全是 vendor 里的 TODO,根本没法用。
为什么 TODO 窗口里全是别人家的待办?
默认 Scope 是 All Places,扫描范围包括 vendor/、node_modules/、tests/、甚至 IDE 自带模板——你搜到的 // TODO 大概率来自 Laravel 或 Symfony 源码,和你当前开发无关。
- 打开 TODO 工具窗口(
Alt+6/Cmd+6),右上角漏斗图标旁显示的就是当前 Scope - 点击漏斗 → 切换为
Scope Based→ 选Project Files(只扫 src/、app/ 这类你自己写的代码) - 如果预设不够细,点齿轮图标 →
Configure Scopes→ 新建 scope,路径填src/**或app/**,排除写法是!**/tests/**
怎么让 TODO 面板只显示 @yourname 或 HIGH 优先级的任务?
光靠路径过滤不够。团队协作中必须支持按人、模块、紧急程度筛,这得靠 Patterns + Filters 组合配置。
- 进
Settings > Editor > TODO,在Patterns区域点 +,加一条正则:\bTODO:\s*HIGH\b.*,勾选Case insensitive - 回到
Filters区域,点 + 新建过滤器,名称填High Priority,只勾选上面那条TODO: HIGH模式 - 再建一个叫
Alice's Tasks的过滤器,Pattern 填@alice\b.*(\b防止匹配到@alicesmith) - 切换过滤器后,TODO 窗口不会自动刷新旧缓存——关掉窗口再按
Alt+6重开,它才会全量重扫
为什么双击 TODO 条目打不开文件或跳转错位?
不是过滤器坏了,而是注释格式或索引没对上。
-
// TODO后必须跟空格或冒号,//TODO(紧贴)在部分版本中不触发高亮,也不进索引 - 多行
TODO要开启设置:Settings > Editor > TODO > Treat the indented text on the following lines as part of the same TODO - 改过过滤器或模式后,旧缓存还在——必须关闭 TODO 窗口(再按一次
Alt+6),重新打开才生效
真正卡住项目的,从来不是没写 TODO,而是写了却找不到、分不清、不敢删。Scope、Pattern、Filter 这三层缺一不可,少配一层,面板就变噪音源。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










