GoLand默认识别// TODO等标记,但需启用TODO工具窗口且项目未被排除;若不显示,常见原因是目录被标记为Excluded、过滤器未配置(如未勾选对应正则模式)、文件编码异常或文件只读。

TODO标记在GoLand里默认不显示?先确认是否启用
GoLand 默认会识别 // TODO、// FIXME 等注释标记,但前提是「TODO 工具窗口」已启用且项目未被排除。常见现象是:写好了 // TODO fix this,却在 TODO 工具窗口(Alt 0 6)里看不到任何条目。
原因通常是:
- 项目中某些目录被右键 →
Mark Directory as→Excluded,这些路径下的TODO不会被扫描 -
TODO过滤器未配置或被禁用(即使写了标记,IDE 也不知道该抓哪些) - 当前文件编码异常(如 GBK),导致注释解析失败(极少但存在)
怎么让TODO真正被搜到:检查并配置过滤器
GoLand 的 TODO 不是“写完就自动出现”,它依赖你定义的过滤规则。打开设置:Ctrl Alt 0 S → TODO → Add Filter(或直接搜索 TODO - Add/Edit Filter)。
关键配置项:
-
名称:比如叫My TODOs,纯标识用 -
模式:必须勾选对应正则模式,例如TODO对应todo|TODO|Todo,FIXME对应fixme|FIXME|Fixme - 不要只依赖默认过滤器——默认可能只启用了
TODO,而你写了// HACK就不会被识别
如果你改了模式但没生效,重启 TODO 工具窗口(关闭再按 Alt 0 6)或触发一次索引重建(File | Reload project from disk)。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
全局检索TODO:用Search Everywhere比进工具窗口更快
想快速定位某个具体 TODO(比如找所有带 auth 的 TODO),别只盯着 TODO 工具窗口。直接按 Shift 两次,输入 TODO auth,GoLand 会在「所有位置」里实时匹配注释内容 —— 这比先开 TODO 窗口再手动筛选快得多。
注意点:
- 这个搜索走的是全文索引,所以要确保文件没被
Excluded,否则搜不到 - 如果想限定只搜 TODO 注释(排除普通字符串),可在搜索框里加
TODO.*auth,并勾选Regex模式 - 搜索结果点击后直接跳转到行首,光标停在
//前,不是注释内部
TODO列表里双击没反应?检查文件是否只读或未加入项目
在 TODO 工具窗口里双击某条目,预期是跳转到对应代码行。如果没反应,大概率是:
- 该文件属于外部库(如
$GOROOT或vendor/下的模块),GoLand 默认设为只读,禁止跳转编辑 - 文件路径不在当前项目根目录下(比如通过
Open Folder打开了子目录,但 TODO 在父级目录里) - 文件编码与项目编码不一致(如项目是 UTF-8,该文件是 ISO-8859-1),导致行号映射错乱
验证方式:在项目工具窗口(Alt 0 1)里找到该文件,看图标左下角有没有小锁 —— 有锁就是只读;右键 → Reload from Disk 可强制刷新状态。

















