goland 默认启用代码折叠,但仅支持 func、if、for、struct、import 等语法块;注释块、空行及 // region 需手动开启配置。

GoLand 默认是否启用代码折叠
GoLand 默认开启代码折叠,但仅对 func、if、for、struct、import 等语法块生效;注释块、空行、自定义区域(如 // region)默认不折叠,需手动配置。
如何确认和启用基础折叠功能
如果看不到折叠图标(▶/▼),先检查设置是否被意外关闭:
- 打开 Settings / Preferences → Editor → General → Code Folding
- 确保
Enable code folding勾选 - 重点勾选:
Fold by default下的Imports、Functions、Control flow statements、Structs -
Comment blocks和Region comments需单独开启(后者支持// region name/// endregion)
快捷键触发折叠最常用操作
不用点小箭头,用键盘更快:
-
Ctrl + Shift + -(Windows/Linux)或Cmd + Shift + -(macOS):折叠所有可折叠块 -
Ctrl + Shift + +或Cmd + Shift + +:展开全部 -
Ctrl + -/Cmd + -:折叠光标所在代码块(比如把一个func折起来) -
Ctrl + +/Cmd + +:展开光标所在块
注意:Ctrl/Cmd + 数字键 是切换「编辑器缩放」,别按错——折叠必须带 Shift。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
region 折叠不生效?检查注释格式和配置
Go 本身不支持 #region,但 GoLand 允许用 // region 语法,前提是:
- 注释必须是单行、顶格(前面不能有空格或 tab)
- 格式严格为:
// region description和// endregion - 在
Code Folding设置中,Region comments必须启用 - 折叠后显示的标签文字来自
// region后的第一个单词(多余空格会被截断)
示例有效写法:// region HTTP handlers ✅;// region HTTP handlers ❌(多余空格导致识别失败)。
折叠功能依赖 AST 解析,如果文件有语法错误(比如缺少 }),部分折叠会失效——先修复报错再试。










