goland 默认仅识别 todo/fixme/xxx,需手动添加自定义 todo 过滤器:进入 settings → editor → todo → + → add pattern,填入如 \breview\s*[::]?\s*.* 等正则,勾选 shared 以提交至 git,并手动刷新 todo 窗口。

GoLand 的 TODO 过滤器默认只识别 TODO、FIXME、XXX 三类标记,不支持自定义关键词(比如 REVIEW、OPTIMIZE 或团队约定的 NEEDS_TEST),必须手动添加过滤器才能高亮和聚合显示。
如何添加自定义 TODO 过滤器
打开设置后直接定位到 TODO 配置页,不是靠搜索或菜单猜测路径:
- Windows/Linux:按
Ctrl+Alt+S→ 左侧导航栏依次展开 Editor → TODO - macOS:按
Cmd+,→ 同样进入 Editor → TODO - 点击右上角
+按钮 → 选择Add Pattern... - 在弹出框中填入正则表达式,例如匹配
REVIEW:\bREVIEW\b.*(\b是单词边界,避免误中PREVIEW) - 勾选
Case sensitive如果关键词区分大小写(如强制用大写NEEDS_TEST)
为什么正则写错会导致过滤器失效
常见错误不是语法问题,而是匹配逻辑没覆盖真实注释场景:
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
-
REVIEW:后面可能有空格、冒号、换行或中文标点,单纯写REVIEW会漏掉// REVIEW: 待确认参数校验逻辑 - 推荐用更鲁棒的写法:
\bREVIEW\s*[::]?\s*.*(兼容英文/中文冒号、零到多个空格) - 如果想同时匹配
REVIEW和review,去掉Case sensitive勾选,但正则本身不用改 - 注意:GoLand 的 TODO 正则运行在单行上下文中,
.*不会跨行匹配;多行注释里的 TODO 需要单独处理(比如用/\*.*?REVIEW.*?\*/,但性能较差,慎用)
过滤器作用域与项目级复用
新建过滤器默认是“项目级”,但容易被忽略两个关键点:
- 勾选
Shared才能随.idea/misc.xml提交到 Git,否则只存在你本地配置里 - 如果团队统一用
OPTIMIZE标记性能待改进点,建议把过滤器设为共享,并在 README 中说明正则内容,避免每人自己写一遍 - IDE 级过滤器(不勾
Shared)适合个人调试习惯,比如临时加一个\bDEBUG_LOG\b只为自己高亮日志埋点 - 作用域选
Project Files即可,不用选All Places——TODO 本来就不该出现在二进制、vendor 或生成代码里
真正难的是让过滤器持续有效:正则得贴合团队实际写法,共享配置得同步进版本库,而最常被跳过的一步是——每次新增关键词后,记得去 TODO 工具窗口点右上角刷新按钮(或按 Ctrl+F5),否则旧缓存不会自动更新。










