触发「inspect code」需双击shift搜索并回车执行,作用域可选当前文件/目录/整个项目;它比保存检查更彻底,且与重构菜单快捷键无关。

怎么触发「Inspect Code」手动扫描
GoLand 的静态检查不是全时后台运行,很多问题得你主动点一下才出来。最直接的方式是双击 Shift 打开全局搜索,输入 Inspect Code,回车后选作用域(当前文件 / 目录 / 整个项目)。它比保存时自动检查更彻底,尤其适合改完一大块逻辑后快速过一遍。
注意:Ctrl+Alt+Shift+T(Win/Linux)或 Cmd+Option+Shift+T(macOS)调出的重构菜单里没有这个选项,别在这儿找;那个快捷键只做语法更新(比如把 &Type{} 换成 new(Type)),和静态检查无关。
为什么 Alt+Enter 有时没反应
灯泡图标不弹、Alt+Enter 按了没提示,大概率是检查项没开,或者当前报错类型根本不支持自动修复:
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
-
Error return value not checked这类关键项默认可能是关的,要进Settings > Editor > Inspections > Go手动勾选 -
staticcheck报的SA1019(用弃用 API)或SA4006(无限循环)没有 Quick Fix,IDE 只标红,不给灯泡 - 如果用了
golangci-lint,但.golangci.yml路径填错、或没重启 IDE,Alt+Enter也会静默失效
哪些报错真能一键修,怎么修
能真正点灯泡修掉的,基本只限于 AST 可安全重写的场景:
- import 顺序乱、有未使用包 → 点灯泡选
Optimize Imports,背后调goimports -w - 函数调用拼错(如
fmt.Prinln)→ 灯泡会建议Change to Println,这是 IDE 自带拼写补全,不依赖 linter - errcheck 类报错(如
os.Open忽略 error)→ 光标停在函数调用上按Alt+Enter,选Wrap with if err != nil,生成基础错误处理框架 - unused 变量 → 不推荐直接删,右键变量名选
Refactor > Safe Delete,它会先查引用再删
实时提示靠什么,为什么改了代码没立刻标红
编辑器里波浪线不是“一直在线”,它依赖两个硬条件:
- 文件必须属于已索引的 Go 模块:确认项目根目录有
go.mod,且右下角状态栏显示 module 名(不是灰色警告) - 光标得在编辑区里停留片刻——刚粘贴完代码、光标还在行尾没移开,检测可能还没触发
- 孤立文件(没被
go mod init管理)只做语法高亮,不做语义检查,不会标 red
真正容易被忽略的是索引状态:第一次打开项目,右下角进度条没走完前,Find Usages 和静态提示都不可靠,别急着搜或判断“是不是没配对”。










