GoLand 中应关闭默认自动折叠(如 Imports、Documentation comments、Method bodies),再用 // region / // endregion 手动标记需折叠的临时代码块,并善用 Ctrl + . 等快捷键高效管理折叠状态。

关闭默认自动折叠
GoLand 默认会对 import 块、文档注释、方法体等自动折叠,这反而干扰阅读。想“快速折叠无用代码”,第一步其实是先关掉这些干扰项——否则你手动折叠的代码,可能下一秒就被 IDE 自动展开或覆盖。
- 打开
Settings / Preferences(macOS 是Cmd + ,,Windows/Linux 是Ctrl + Alt + S) - 搜索关键词
folding - 进入
Editor → General → Code Folding - 取消勾选:
Imports、Documentation comments、Method bodies(除非你真需要它们默认收起)
这样做的本质不是“折叠”,而是避免 IDE 替你做错误判断。真正该折叠的,是你自己认定的临时逻辑块、调试代码、废弃分支——而不是语言结构本身。
用 //region 标记自定义折叠块
Go 本身不支持 #region,但 GoLand 支持通过注释识别折叠区域。这是最可控、最贴近“快速折叠无用代码”需求的方式。
- 在你想折叠的代码前后加注释:
// region debug: init config loadConfig() setupLogger() connectDatabase() // endregion
- 折叠后编辑器 gutter 会出现小箭头,点击即可收起整段
- 注意:必须是完整成对的
// region和// endregion,中间不能有空行或错位缩进 - 支持嵌套,但建议只用一层,避免误操作展开错层
别用 //go:build ignore 或 // +build ——那是构建标签,不是折叠指令,部分版本甚至会触发构建系统误判。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
快捷键批量操作折叠状态
光靠鼠标点 gutter 箭头效率低,尤其面对多个临时块时。记住这几个关键快捷键:
-
Ctrl + .(Windows/Linux)或Cmd + .(macOS):折叠/展开当前光标所在区域(比如一个// region块,或一个函数体) -
Ctrl + Shift + NumPad +:展开所有已折叠区域 -
Ctrl + Shift + NumPad -:折叠所有可折叠区域(包括// region和手动折叠的函数) -
Ctrl + Alt + 0:重置所有折叠状态(回到文件初始打开时的样子)
注意:Ctrl + Shift + NumPad - 会把所有能折的都折起来,包括你没标记但被 IDE 默认识别的块(如 struct 字段列表),所以建议只在确认“当前屏全是干扰项”时使用。
折叠后别忘了验证展开状态
最容易被忽略的一点:折叠只是视觉隐藏,不影响编译和运行。但如果你折叠的是初始化逻辑、条件分支或 error 处理块,提交前极易遗漏——因为你看不见它。
- 每次 commit 前,执行
Ctrl + Shift + NumPad +全部展开,快速扫一眼有没有被藏起来的panic、log.Fatal或未处理的err - Git diff 不显示折叠状态,
git status也看不出你“以为删了”其实只是折起来了 - 团队协作时,别人打开你的文件,默认是展开态,你的折叠标记对他们无效——所以别依赖折叠代替删代码
真正“无用”的代码,最后还是得删;折叠只是临时遮眼布,不是清理动作。

















