IntelliJ IDEA 2025.1 Help

代码样式。 Go

使用此页面来为 Go 文件配置格式选项。 当您更改这些设置时, 预览 面板将显示这将如何影响您的代码。

制表符和缩进

配置代码样式的缩进、制表符和空格字符。

使用此页面配置 SQL 文件的格式选项。 当您更改这些设置时, 预览 面板将显示这将如何影响您的代码。

条目

描述

使用制表符

请使用 Tab 键进行缩进。 当复选框未勾选时, IntelliJ IDEA 使用空格而非制表符。 默认情况下,复选框处于未选中状态。

智能制表符

  • 如果选中此复选框,则嵌套代码块的缩进将根据需要使用制表符和空格,而对齐缩进则仅使用空格。

  • 如果此复选框未选中,将只使用选项卡。 这意味着一组符合指定制表符大小的空格将自动替换为一个制表符,这可能会导致精细对齐的破坏。

智能制表符 复选框在启用 使用制表符 选项时可用。 默认情况下,复选框处于未选中状态。

制表符大小

在此字段中,指定一个选项卡中包含的空格数。 默认值: 4

缩进

在此字段中,指定为每个缩进级别插入的空格数量。 默认值: 4

连续缩进

指定从前一行延续的行的缩进,使其清晰地表示它们是同一语句或代码块的一部分。 当单个语句过长而无法放在一行中时,使用续行缩进。

默认值: 8

空行时保持缩进

如果选中此复选框,IntelliJ IDEA 将会保持空行的缩进,就像它们包含了一些代码一样。

如果取消勾选此复选框,IntelliJ IDEA 将删除制表符和空格。

默认情况下,复选框处于未选中状态。

包装和大括号

配置换行选项和大括号的使用。

条目

描述

强制换行位置

使用 强制换行位置 字段指定元素右侧所需的边距空间。 如果您选择了 默认 选项,那么将使用 全局设置中的右边距值。

键入时换行

使用 键入时换行 设置来指定如何将编辑的文本适应到指定的 强制换行位置 中:

  • 默认 :在这种情况下,IntelliJ IDEA 使用的是 键入时换行 选项,该选项在 全局设置中指定。

  • :在这个例子中,IntelliJ IDEA 使用了在 右边距 字段里指定的值。

  • :在这种情况下,此选项被关闭,一行可以超过右侧边距指定的值。

视觉参考线

使用 视觉参考线 字段来指定多个右边距。 您可以保留默认值,或者输入您的边距所需的空格数。 如果您想要指定多个边距,请输入由顿号分隔的数字。

函数调用实参

选择函数调用参数的换行选项。 在 Go 中,函数调用参数是在调用函数时传递给函数的值。

您可以在以下选项中进行选择:

  • 不换行 :当选中此选项时,不会应用任何特定的换行样式,嵌套对齐和括号设置将被忽略。

  • 适当换行 :选择此选项可以让超出右边界的行以正确的缩进进行折叠。

  • 始终换行 :选择此选项,将使列表中的所有元素进行换行处理,每行一个元素,并进行适当的缩进。

  • 如果太长,请截断 :选择此选项,将超出右侧边界的列表中的元素进行折行处理,使每行只包含一个元素,并正确缩进。

您可以将之前的选项应用于开启和关闭的括号:

  • 在'(' 后换行 :在开头的括号后面添加新的一行。

  • 将')' 置于新行中 :在关闭括号前添加新行。

复合字面量

选择复合字面量的换行选项。 在 Go 中,复合字面量是创建复合类型值的紧凑表示法,包括数组,切片,映射和结构体。

您可以在以下选项中进行选择:

  • 不换行 :当选中此选项时,不会应用任何特定的换行样式,嵌套对齐和括号设置将被忽略。

  • 适当换行 :选择此选项可以让超出右边界的行以正确的缩进进行折叠。

  • 始终换行 :选择此选项,将使列表中的所有元素进行换行处理,每行一个元素,并进行适当的缩进。

  • 如果太长,请截断 :选择此选项,将超出右侧边界的列表中的元素进行折行处理,使每行只包含一个元素,并正确缩进。

您可以将之前的选项应用于开启和关闭的括号:

  • 在'(' 后换行 :在开头的括号后面添加新的一行。

  • 将')' 置于新行中 :在关闭括号前添加新行。

函数形参

选择函数参数的换行选项。 在 Go 中,函数参数是作为函数签名部分声明的变量,当函数被调用时,用于传递数据到函数。 将作为参数传递给函数的值赋予函数的参数,让函数可以操作数据。

您可以在以下选项中进行选择:

  • 不换行 :当选中此选项时,不会应用任何特定的换行样式,嵌套对齐和括号设置将被忽略。

  • 适当换行 :选择此选项可以让超出右边界的行以正确的缩进进行折叠。

  • 始终换行 :选择此选项,将使列表中的所有元素进行换行处理,每行一个元素,并进行适当的缩进。

  • 如果太长,请截断 :选择此选项,将超出右侧边界的列表中的元素进行折行处理,使每行只包含一个元素,并正确缩进。

您可以将之前的选项应用于开启和关闭的括号:

  • 在'(' 后换行 :在开头的括号后面添加新的一行。

  • 将')' 置于新行中 :在关闭括号前添加新行。

函数结果形参

选择函数参数的换行选项。 在 Go 中,一个函数可以有一个或多个结果参数,这些参数在参数列表之后的函数签名中声明,并用于将值从函数返回给调用者。 结果参数是通过函数的返回类型来指定的。

您可以在以下选项中进行选择:

  • 不换行 :当选中此选项时,不会应用任何特定的换行样式,嵌套对齐和括号设置将被忽略。

  • 适当换行 :选择此选项可以让超出右边界的行以正确的缩进进行折叠。

  • 始终换行 :选择此选项,将使列表中的所有元素进行换行处理,每行一个元素,并进行适当的缩进。

  • 如果太长,请截断 :选择此选项,将超出右侧边界的列表中的元素进行折行处理,使每行只包含一个元素,并正确缩进。

您可以将之前的选项应用于开启和关闭的括号:

  • 在'(' 后换行 :在开头的括号后面添加新的一行。

  • 将')' 置于新行中 :在关闭括号前添加新行。

导入

import 部分配置代码样式规则。

条目

描述

为import 使用反引号

将双引号替换为反引号。

已启用

已禁用

go_use_backquotes_for_imports_cleared
为导入使用左引号

为单个导入添加括号

即使 import 部分只有一条 import 语句,也要为其添加括号。

移除冗余导入别名

当别名与依赖项名称匹配时,删除该别名。 例如, logrus 别名将会从以下的导入条目中移除:

import ( logrus "github.com/sirupsen/logrus" )

排序类型

选择用于排序导入语句的样式。 您可以在以下选项中进行选择:

  • gofmt :按字母顺序排序 import 语句。 标准库的包与第三方包混杂在一起。

    gofmt 排序类型
  • goimports :按照特定顺序排列 import 语句,首先放置标准库包,然后是第三方包,最后是本地包。

    goimports 类型排序
  • :不对 import 语句进行排序。

    无排序类型

将所有import 移至一个声明中

将所有 import 语句整合到文件顶部的单一块中。

已禁用

已启用

将所有导入移到一个声明中
将所有导入移到一个声明中

对Go SDK 中的软件包分组

将属于 Go SDK 包的导入语句一起分组。 例如,来自像 fmterrors 这样的包的导入声明会被分组在一起。

已禁用

已启用

启用了 Go SDK 的组包
Go SDK 中的组包已被禁用

请注意,如果他们被其他包的语句分隔开,此设置不会将 import 语句移至一起。 要将所有导入声明组合在一个单独的区块中,请选择 将所有软件包移至一个组中

将所有软件包移至一个组中

分组

按照您选择的选项对导入声明进行分组。 您可以选择以下选项:

  • 当前项目软件包 :将属于当前项目的包进行分组。 这意味着此设置将当前项目的包与来自外部库的任何包(Go SDK, go.mod 文件的库, 供应商 目录的文件等)分开。

  • 导入开头 :集结以某个前缀开始的包。 您可以通过逗号列举所有的前缀。 所有对应的包将被移动到一个单一的组中。

    以开始的导入

其他

条目

描述

向注释添加前导空格

在双斜杠和注释文本之间添加一个空格。

已禁用

已启用

在注释前添加一个空格
在注释前添加一个空格

要排除以某些前缀开头的注释,点击 添加 图标("添加"图标 ),输入前缀,然后点击 OK

排除以特定前缀开头的注释

填充段落的列宽

指定在文本换行前注释中允许的最大字符数。 限制应用于注释文本,并以这样的方式重新分配行、空格和换行符,使行最终符合一定的最大宽度。 默认值为80个字符。

之前

之后

填充段落"的列宽度
填充段落"的列宽度

执行“重新设置代码格式”操作时(R)

当代码被重新格式化时,自动运行 gofmt。 默认情况下,要重新格式化代码,请按 Ctrl+Alt+L

最后修改日期: 2025年 4月 24日