在 settings → editor → inspections 中关闭 goland 代码检查规则,需精准取消具体子项(如 shadowed variable)而非整个 go 节点;支持按项目或全局配置、降级级别、限定作用域及用 //noinspection 注释临时禁用。

在哪关闭 GoLand 的代码检查规则
GoLand 默认开启大量静态检查(比如 unused parameter、shadowed variable),但不是所有提示都适合你的项目风格或当前开发阶段。关闭位置在 Settings → Editor → Inspections,路径固定,别去搜“lint”或“analysis”——那些是不同模块。
注意:这里改的是「当前项目」的设置。如果想全局禁用(比如所有新项目都不检查 unhandled error),得切到 Settings → Editor → Inspections →右上角齿轮→ Copy to Project 之后再关,否则只影响当前项目。
按检查项精准关闭,而不是关整个语言层
GoLand 的检查项是分层级的:最上层是 “Go”,下面展开才是具体规则(如 Unused parameter、Redundant type in variable declaration)。直接关掉 “Go” 节点会禁用全部,太粗暴;很多规则其实有用(比如 invalid composite literal),关了反而容易出 runtime panic。
- 找到你要关的具体规则,比如
Shadowed variable,勾选框取消即可 - 部分规则支持配置级别(Warning / Weak Warning / Error),可降级而非彻底关闭
- 某些规则有「Scope」选项,点击右侧铅笔图标,能限定只对测试文件(
*_test.go)或 vendor 目录禁用
用 //noinspection 注释临时关闭单行检查
有时候某一行逻辑就是需要“不规范”(比如故意忽略 error、或用 _ 接收多个返回值但只用其中一个),硬关全局规则不合适。这时用注释更精准:
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
//noinspection GoNilness
这行注释要写在触发检查的代码行上方,且必须拼写准确——GoLand 不校验这个字符串,拼错就无效。常见可用值包括:GoNilness、GoUnreachableCode、GoDeadCode。不记得时,把光标停在警告上,按 Alt+Enter,菜单里会显示对应注释模板。
注意:这种注释对 go vet 或 staticcheck 无效,仅影响 GoLand 自身的编辑器检查。
关闭检查 ≠ 关闭编译或运行时问题
很多人关掉 unhandled error 后以为“不会再报错了”,结果 go build 仍失败,或上线后 panic。因为 GoLand 的检查只是静态分析,和 go toolchain 无关。像 nil pointer dereference 这类问题,编辑器可能没标红,但运行时必崩。
真正该依赖的是:go build 本身、CI 中跑的 go vet、以及必要时接入 staticcheck 或 golangci-lint。编辑器检查只是辅助,关之前先想清楚:你是真不需要这条提示,还是想跳过底层问题?










