重新格式化并重新排列代码
GoLand 可让您根据当前 代码样式方案 或 .editorconfig 文件中指定的要求重新格式化代码. 如果 .editorconfig 中未定义某些内容,则使用项目设置中的配置.
您可以重新格式化部分代码、整个文件、一组文件、一个目录和一个模块. 您还可以从重新格式化中排除部分代码或某些文件.
重新格式化代码片段
在编辑器中,选择您想要重新格式化的代码片段.
在重新格式化之前,您可以查看应用于所选代码的代码样式设置:按下 Alt+Enter 并点击 调整代码样式设置.
在主菜单中,转到 或按下 Ctrl+Alt+L.
或者,在出现的 工具栏 上,点击
重新格式化代码.
重新格式化文件
重新格式化行缩进
您可以根据指定的设置重新格式化行缩进.
在编辑器中,选择所需的代码片段并按下 Ctrl+Alt+I.
如果需要调整缩进设置,请在 设置 对话框(Ctrl+Alt+S )中,转到 . 选择您要更改缩进的语言.
在 制表符和缩进 选项卡中,指定适当的缩进选项并点击 确定.
在保存时自动重新格式化代码
您可以将 IDE 配置为在更改被 保存 时,自动重新格式化已修改文件中的代码.
按 Ctrl+Alt+S 打开设置,然后选择 .
启用 重新设置代码格式 选项.
此外,您还可以配置 IDE 重新格式化代码的方式:
点击 配置作用域… 以指定要 从重新格式化中排除 的文件名及目录模式.
在 所有文件类型 列表中,选择您想要重新格式化代码的文件类型.
如果项目处于版本控制之下,请选择 整个文件 或 更改的行.
如果选择了 更改的行 ,则只会重新格式化本地变更但尚未提交到版本库的代码行.
在提交时重新格式化代码
如果项目处于 版本控制 之下,您可以在将更改提交到版本库时自动重新格式化代码. 在此情况下,仅新增或修改的代码将会被重新格式化.
按 Alt+0 打开 提交 工具窗口,然后单击 显示提交选项
。
在 提交检查 菜单下,启用 重新设置代码格式 选项。
启用该选项后,每次提交时,新增或修改的代码都会被重新格式化。

从重新格式化中排除文件
您可以将一组文件和目录排除在重新格式化和 导入优化之外。
在 设置 对话框(Ctrl+Alt+S )中,转到 。
切换到 格式化程序 选项卡,在 不设置格式 字段中,使用 glob 模式 输入要排除的文件和目录。
您可以使用分号
;分隔多个 glob 模式。 如果单击,该字段将展开,每个模式将显示在单独的一行上。
应用更改并关闭对话框。

在编辑器中排除代码片段不进行重新格式化
在 设置 对话框(Ctrl+Alt+S )中,转到 。
切换到 格式化程序 选项卡,并启用 在代码注释中使用标记打开/关闭格式化程序 选项。
在编辑器中,在要排除的区域开头创建一条行注释 Ctrl+/ ,然后输入
@formatter:off。 在该区域的结尾,创建另一条行注释并输入@formatter :on。标记之间的代码将不会被重新格式化。
使用 gofmt 工具重新格式化
与 gofmt 工具相比,GoLand 的格式化程序可以处理语法不正确的代码,并可作用于任意代码块。 此外,内置格式化程序还可以自动插入分号并换行参数和实参。
如果您仍希望使用 gofmt,可以使用以下工具:
通过使用以下选项,您可以在每次使用重新格式化操作时运行 gofmt 工具。 例如,每次按下 Ctrl+Alt+L 时,GoLand 都会运行 gofmt 工具。
在重新格式化操作后运行 gofmt 工具
每次重新格式化代码时(例如按下 Ctrl+Alt+L ),都可以运行 gofmt 工具。 第一次格式化会由内置的 GoLand 格式化程序执行,然后由 gofmt 执行。
要启用此功能,请按 Ctrl+Alt+S 打开设置,并导航到 。 。 单击 其他 选项卡并选中 执行“重新设置代码格式”操作时(R) 复选框。

配置注释的前导空格
应用 重新格式化代码 操作 Ctrl+Alt+L 后,GoLand 可能会在注释文本前添加前导空格。
之前 | 之后 |
|---|---|
//easyjson:json
|
// easyjson:json
|
在 Go 中,注释也用作注解。 在某些库中,注释标记与注解指令之间的空格无法被正确处理。 在上述示例中, easyjson:json 是一个注解。
您可以为以特定前缀开头的注解禁用前导空格。
打开 设置 窗口()。
单击 。
单击 其他 选项卡。
选中 为注释添加前导空格 复选框。
在 除注释空格外 字段中,单击 添加 图标(
)。
输入要添加为例外项的前缀名称(例如,
easyjson)。
