GoLand 默认识别 TODO、FIXME、XXX 三类标签,需写在注释中且全大写加冒号(如 // TODO: xxx),支持自定义标签(如 HACK:.*)、不参与编译,未显示常见原因为文件未索引或注释格式错误。

GoLand 里怎么加代码标签(TODO/FIXME/XXX)
GoLand 默认识别 TODO、FIXME、XXX 这三类标签,不用额外配置就能高亮显示在侧边栏和 TODO 工具窗口里。你只要在注释里写对格式,它就自动生效。
- 必须写在注释里:支持
// TODO: xxx、/* TODO: xxx */、/** TODO: xxx */ - 冒号后面建议留一个空格(
TODO: fix timeout),否则部分旧版本可能匹配不稳 - 大小写敏感:
todo:或Todo:不会被识别,只认全大写 + 冒号形式 - 标签名后可以跟任意文字,包括中文,比如
// FIXME: 并发安全未处理
怎么自定义新增标签(比如 HACK 或 NOTE)
GoLand 允许添加自己的标签关键词,但要注意:只有带冒号的格式才被当作“可跳转标签”,否则只当普通注释。
- 打开
Settings > Editor > TODO - 点击
+添加新模式,Pattern 填HACK:.*(正则,表示以HACK:开头的行) - 勾选
Case sensitive如果你希望区分大小写 - 设置颜色和图标(可选),不影响功能
- 改完后,
// HACK: 临时绕过校验就会出现在 TODO 窗口里,双击可跳转
为什么写了 TODO 却不显示在 TODO 窗口?
最常见原因是当前文件没被索引,或注释格式不合规。不是插件没开,也不是要重启。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
- 检查文件是否属于项目模块:如果文件是灰色的(未加入 module),GoLand 不扫描它
- 确认注释位置:不能写在字符串里(
fmt.Println("TODO: 这不算"))、不能写在函数体外的空白行(需紧贴代码或上一行注释) - 刷新索引:右键项目根目录 →
Reload project,或等几秒看状态栏是否完成 indexing - 检查作用域:默认只显示“Current File”或“All Places”,点 TODO 窗口右上角漏斗图标,选
All Places
TODO 标签会影响编译或运行吗?
完全不会。这些只是注释,Go 编译器直接忽略,GoLand 的识别纯属 IDE 层面的文本扫描,不修改源码、不注入逻辑、也不参与构建流程。
- 生成的二进制里不存在任何 TODO 文本
- CI 流程(如
go build或go test)完全感知不到它们 - 唯一风险是:把敏感信息写进
FIXME注释里,然后误提交到公开仓库——这属于人为疏忽,不是工具问题
真正在意的其实是团队约定:比如要求所有 FIXME 必须带 issue 编号(// FIXME(GO-123): ...),这种规范没法靠 IDE 强制,得靠 Code Review 和习惯养成。

















