GoLand 2026.3 Help

禁用和启用检查

有些检查可能会报告您当前不希望看到的问题。 在这种情况下,您可以禁用或抑制它们。

禁用检查

当您 禁用检查时,您将其关闭。 这意味着代码分析引擎将停止在项目文件中搜索此检查旨在检测的问题。 请注意,当您禁用某个检查时,您是在当前检查配置文件中禁用它;它在其他配置文件中仍然是启用的。

在 GoLand 中,大多数检查都可以禁用。 但是,一些检查将会不管设置如何继续高亮显示您的代码。 例如,语法错误始终会被高亮显示。

在设置中禁用检查

  1. 按下 Ctrl+Alt+S 打开设置,然后选择 编辑器|检查。

  2. 找到您想要禁用的检查,并清除其旁边的复选框。

  3. 应用更改并关闭对话框。

您可以使用上下文操作直接在编辑器中快速禁用触发的检查。

从编辑器禁用检查

  1. 将插入符号放在高亮行上,然后按 Alt+Enter (或点击 显示上下文操作图标 )以调用可用上下文操作列表。

  2. 点击 更多操作按钮 检查旁边的按钮,然后选择 禁用检查。

从问题工具窗口禁用检查

  1. 在 检查结果 选项卡的 问题 工具窗口中(在您运行代码分析后显示),右键点击您想要禁用的检查并选择 禁用检查。

  2. 点击工具栏上的 视图选项按钮 按钮,然后选择 筛选已解决的项目 以隐藏已禁用检查的警报。

禁止检查

当您 抑制检查时,代码分析引擎不会在特定代码片段(类型、函数或行)中高亮显示该检查发现的问题。 您还可以抑制当前类型中的所有检查。

在 GoLand 中,大多数检查可以被抑制。 然而,有些检查没有此选项。 例如,语法错误始终会在编辑器中高亮显示,无论设置如何。 要了解特定检查是否可以被禁用,请参见 Inspectopedia。

禁止从编辑器中检查

  1. 将文本光标放置在高亮行并按 Alt+Enter (或点击 意图操作 图标 使用意图操作)。

  2. 点击您想要抑制的检查旁边的 按钮,并根据所需作用域选择一个操作。 GoLand 会在抑制检查的代码片段上方添加一个 //goland:noinspection 注释。

    您可以在 抑制注释表中找到检查及其标识符的列表。 例如,要抑制 导出元素的注释以不正确的名称开头 检查,请在声明上方添加 //goland:noinspection GoCommentStart。

    使用不带 检查 后缀的检查 ID。 要抑制多个检查,请用逗号分隔它们的 ID。 较旧的形式,例如 // noinspection GoCommentStart ,也受支持。

    抑制检查

从问题工具窗口抑制检查

检查结果 工具窗口的 问题 选项卡显示运行代码分析时检测到的问题。

  • 在 检查结果 选项卡中的 问题 工具窗口(运行代码分析后出现),右键点击您要抑制的检查并选择所需的抑制操作。

    在检查结果工具窗口中抑制检查

启用已屏蔽的检查

当您抑制检查时,IDE 会在选定符号前添加 //noinspection 注解。 例如,如果您为语句抑制检查,GoLand 会在该语句前添加注解。

  • 要重新启用已抑制的检查,请删除 //noinspection 注解。

    方法前的 //noinspection 注解

禁用突出显示,但保留修复

检查具有 严重性 ,根据这些严重性,它们在编辑器中突出显示代码问题。 您可以在不打开设置的情况下快速禁用检查的代码高亮显示。 在这种情况下,检查保持启用并提供修复,但严重性会更改为 无高亮显示(有可用修复)​​。

  1. 将文本光标放置在编辑器中由检查突出显示的代码元素处,然后按 Alt+Enter。

    会打开一个可用修复和上下文操作的列表。 找到标记为 意图操作图标 的检查修复。

  2. 点击修复旁边的 按钮以打开检查选项并选择 禁用高亮显示,保留修复。

    禁用高亮,保留修复

检查选项上方写有您正在更改严重性的检查名称。

如果您想恢复高亮,请按 Ctrl+Alt+S 打开 IDE 设置并选择 编辑器|检查。 在列表中找到所需的检查并根据需要更改其严重性。 如需更多信息,请参阅 更改所有范围内的检查严重性。

更改文件的高亮级别

  • 默认情况下,GoLand 会突出显示所有检测到的代码问题。 将鼠标悬停在编辑器右上角的小部件上,然后从 高亮 列表中选择另一级别:

    • 无 :关闭高亮显示。

    • 语法 :仅突出语法问题。

    • 所有问题 :(默认)突出显示语法问题和检查发现的问题。

  • 您还可以从主菜单中更改突出显示级别。 选择或按 Ctrl+Alt+Shift+H。

抑制注释

检查的名称

与 noinspection 关键字一起使用的 ID

未使用的常量

Go 未使用常量

未使用的全局变量

Go 未使用全局变量

未使用的导出函数

Go 未使用导出函数

未使用的函数

Go 未使用函数

未使用的参数

Go 未使用形参

未使用的类型参数

Go 未使用类型形参

未使用的类型

Go 未使用类型

未使用的导出类型

Go 未使用导出类型

禁用的 GOPATH 索引

Go 已禁用 GOPATH 索引

布尔条件

Go 布尔表达式

自我赋值

Go 自赋值

空声明

Go 空声明

切片中多余的第二个索引

Go 切片中的冗余第二索引

范围中多余的空参数

Go range 中的冗余空白参数

复合字面量中存在冗余类型

GoRedundantTypeDeclInCompositeLit

多余的分号

Go 冗余分号

多余的逗号

Go 冗余逗号

多余的类型转换

Go 冗余转换

多余的导入别名

Go 冗余导入别名

类型可以省略

Go 可省略 var 和 const 类型

使用字面量声明的空切片

Go 首选 nil 切片

导出元素的注释以不正确的名称开头

Go 注释开头

导出元素应有其自己的声明

Go 导出项应有自己的声明

结构体初始化没有字段名称

Go 结构体初始化未使用字段名

接收器具有通用名称

Go 接收者名称

名称以包名开头

Go 名称以包名开头

未排序的 import

Go 未排序导入

错误字符串不应以大写字母开头或以标点符号结尾

Go 错误字符串格式

注释没有前导空格

Go 注释前导空格

使用 Snake_Case

Go 蛇形命名用法

导出元素应有注释

Go 导出元素应有注释

特定于单位的 'time.Duration' 后缀

Go 单位特定持续时间后缀

类型形参以小写声明

Go 类型形参为小写

for 循环条件中存在冗余的 'true'

Go for 条件中的冗余 true

保留字用作名称

Go 保留字用作名称

函数字面量捕获的循环变量

Go 循环闭包

导入的包名用作名称标识符

Go 导入用作名称

格式错误的结构体标记

Go vet 结构体标签

不可能的接口类型断言

Go vet 不可能的接口到接口断言

错误使用 'fmt.Printf' 和 'fmt.Println' 函数

Go 打印函数

变量遮蔽

Go 被遮蔽变量

除以零

Go 除以零

'strings.Replace' 的计数参数错误

Go strings.Replace 计数

格式错误的构建标签

Go 构建标签

错误使用 'sync/atomic' 包

Go vet 原子操作

锁被错误地按值传递

Go vet 复制锁

'uintptr' 到 'unsafe.Pointer' 的无效转换

Go vet 不安全指针

错误使用 'errors.As' 函数

Go errors.As

未使用的函数或方法调用结果

Go 未使用的调用结果

未处理的错误

Go 未处理的错误结果

空值分析器

Go nil 性检查

Defer/go 语句直接调用 'recover' 或 'panic'

Go defer go

知名函数名称的非标准签名

Go 标准方法

超出范围的移位表达式

Go 移位

'Unmarshal' 被调用时参数错误

Go vet 反序列化

整数到字符串的类型转换

Go vet int 到 string 转换

'context.CancelFunc' 未被调用

Go vet 丢失 cancel

'FailNow' 在非测试的 goroutine 中

Go vet 非测试 goroutine 中的 FailNow

混合值和指针接收器

Go 混合接收者类型

不规则使用 'iota'

Go 不规则 iota

直接比较错误

Go 错误直接比较

错误的类型断言在包装的错误上失败

Go 对错误进行类型断言

'switch' 中缺少 'iota' 常量的 'case' 语句

Go switch 缺少 iota 常量的 case

无限 'for' 循环

Go 无限 for 循环

循环中的 'defer'

Go 循环中的 defer

赋值给接收器

Go 对接收者赋值

不可达代码

Go 不可达代码

弃用的元素

Go 弃用

多余的括号

Go 冗余括号

导出函数的未导出返回类型

Go 导出函数使用未导出类型

不必要导出的标识符

Go 不必要导出的标识符

格式错误的测试函数名称

Go 测试名称

使用 context.TODO()

Go context.TODO

将 'interface{}' 用作类型

Go interface 到 any

模糊测试从 Go 1.18 开始支持

Go 模糊测试支持

转换字符串字面量

Go 转换字符串字面量

指令注释中的前导空格

Go 指令注释中的前导空白

复合字面量中的换行符前缺少尾随逗号

Go 缺少尾随逗号

2026年 11月 9日