需在 Settings/Preferences → Editor → General → Code Folding 中勾选 Imports 和 Empty lines,再执行 File → Reload project from disk 或重开文件方可生效;折叠依赖 go fmt 格式化后的标准结构,光标须位于 import 行内才响应 Ctrl+Shift+-;自定义折叠可用 // #region 和 // #endregion 注释;增强识别度应调整 Folding marker background 与 foreground 颜色。

怎么启用 Go 的 import 和空白行折叠
GoLand 默认不折叠 import 块或连续空白行,必须手动开启对应折叠项,否则快捷键无效。关键不是按错键,而是设置没打开。
- 打开
Settings/Preferences → Editor → General → Code Folding - 勾选
Imports(控制import块是否可折叠) - 勾选
Empty lines(控制连续空行是否被收起) - 改完后需执行
File → Reload project from disk或关闭再打开文件,设置才生效
注意:Structural folding(函数、结构体等)是独立开关,和 import 折叠无关,别混淆。
为什么 Ctrl+Shift+- 折不了 import 块
常见原因是 import 语句格式不符合 GoLand 的识别规则——它依赖 go fmt 标准化后的结构。
- 单行写法如
import "fmt"通常能被识别;但混用点导入(.)、空白符错乱、或未格式化的多行import可能无法触发折叠 - 如果
import块里有_导入或注释穿插其中,也容易导致识别失败 - 先运行
go fmt或用Ctrl+Alt+L格式化文件,再试快捷键
快捷键本身只作用于“当前光标所在可折叠区域”,不是全局命令;光标得落在 import 行内才有效。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
如何用 // region 手动定义折叠范围
当标准折叠不够用(比如想把一段初始化逻辑或配置块收起来),可以用 GoLand 支持的自定义折叠注释,比改设置更快、更灵活。
- 在代码前加
// #region 描述文字,结尾加// #endregion - 这两行必须独占一行,且不能有其他内容(包括空格)
- 确保
Code Folding → Custom folding regions已勾选(默认开启) - 折叠后,该区域显示为带描述的折叠条,鼠标悬停可见完整标题
这种折叠不受 go fmt 影响,也不依赖语法结构,适合临时整理或文档分组。
怎么让折叠后的代码块更易识别
默认折叠标记颜色太淡,尤其在深色主题下容易忽略可折叠位置。真正起作用的是折叠线背景,不是文字色。
- 路径:
Editor → Color Scheme → General → Folding marker background - 设为略深于编辑器背景的颜色,例如
#333333(Darcula 下推荐) - 同时调一下
Folding marker foreground,比如#888,保证箭头清晰可见 - 注意:这不是“折叠区域背景色”,GoLand 不提供该选项;所谓“背景”实际指折叠控件本身的底色
别去调 Code folding outline,它只影响虚线样式,对识别度提升有限;重点是 marker 的 background + foreground 组合。

















