在goland中可通过“设置→go→静态分析器→配置严重性”调整linter(如staticcheck、errcheck)的ide内提示级别(错误/警告/弱警告/无),该设置仅影响编辑器实时提示,不影响命令行golangci-lint执行结果。

GoLand里怎么改golangci-lint检查的严重性级别
直接在 IDE 里调严重性,不是改配置文件,而是通过「检查设置」页面控制哪些问题标红、哪些只灰显、哪些干脆不报。这和 .golangci.yml 里的 severity 字段无关,是 GoLand 自己的 UI 层映射。
- 按
Ctrl+Alt+S打开设置 →Go→静态分析器 - 点右下角
配置严重性按钮(不是旁边那个“编辑”) - 在弹出窗口里找到你关心的 linter,比如
staticcheck、errcheck或nilness - 每项右侧有下拉菜单:可选
错误(红色波浪线 + 中断构建)、警告(黄色)、弱警告(灰色)、无(完全不提示)
注意:这里改的是 IDE 编辑器内的实时提示级别,不影响 golangci-lint run 命令行输出——命令行始终按配置文件里的规则执行,不会读这个 UI 设置。
为什么有些检查项在列表里找不到
常见原因就两个:linter 没启用,或者它根本不在 GoLand 的内置检查映射表里。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
- 先确认该 linter 已勾选:在
Go | 静态分析器页面的表格中,staticcheck默认是禁用的,必须手动打勾 -
govet和unused是默认启用的,但像goconst、dupl这类非核心 linter,即使你在.golangci.yml里启用了,GoLand 也不会自动显示它们的严重性配置项 - 如果某条规则(比如
SA1019)没单独列出,它会归到所属 linter 下统一控制——也就是说,调staticcheck的严重性,就等于调了所有 SA 规则的严重性
本地开发时最容易忽略的严重性陷阱
很多人把「错误」级别全设成红色,结果编辑器满屏红波浪,反而看不清真正要命的问题。
-
errcheck设成「错误」会导致每个没处理的 error 都中断编辑体验,但实际项目里常有故意忽略的 case(比如log.Fatal后面的close()),建议设为「警告」 -
unused和deadcode设成「错误」会让重构时频繁卡住,尤其涉及条件编译或测试驱动开发时,建议保持「弱警告」或「无」 -
nilness和staticcheck的关键子项(如SA1021、SA1012)必须设为「错误」——这类问题 runtime 才暴露,IDE 提前标红能避免上线后 panic
真正起作用的永远是 staticcheck 的启用状态 + 它的严重性设置,其他 linter 调太严只会制造噪音。别贪多,盯住那三五个高危项就行。










