按ctrl+alt+s或cmd+,打开设置,搜索folding直达editor→general→code folding页;必勾show code folding arrows、fold by default下的imports和empty lines;go专属项需展开左侧go节点;修改后需重载文件才生效。

怎么在 Settings 里打开 Code Folding 设置页
直接按 Ctrl+Alt+S(Windows/Linux)或 Cmd+, (macOS)打开设置,然后在搜索框输入 folding,回车就能跳转到 Editor → General → Code Folding 页面。别去菜单栏一层层点「File → Settings → Editor…」,太慢;搜索是最快路径。
必须勾选的三个基础开关
进入设置页后,先确认以下三项已启用:
-
Show code folding arrows:不勾这个,编辑器 gutter 里连折叠箭头都不显示,快捷键也无效 -
Fold by default下的Imports:Go 文件一打开就自动收起 import 块,否则每次都要手动按Ctrl+Shift+- -
Fold by default下的Empty lines:连续空白行默认折叠,避免被大片空行打断阅读节奏
注意:Structural folding(控制 func/type/if 等块)是独立开关,它不在「Fold by default」列表里,而是在同页顶部的「Code folding options」区域,别漏掉。
Go 语言特有的折叠项在哪找
Go 的折叠选项藏得有点深:在设置页左侧语言列表中,展开 Go 节点,才能看到针对 Go 的专属项,比如:
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
-
One-line 'if' blocks with a single 'return':控制if err != nil { return err }这类单行错误返回是否默认折叠 -
One-line 'if' blocks with a single 'panic':同理,影响 panic 场景
这些选项默认是关闭的,如果你项目里大量使用这类写法,又希望默认收起,就得手动勾上。它们不会影响 import 或函数体折叠,只作用于匹配的 if 行。
改完设置后为什么没生效
常见原因就两个:
- 已打开的文件不会自动刷新折叠状态,必须执行
File → Reload project from disk,或者干脆关掉再重开该文件 - 如果用了自定义折叠注释(如
// region),要让它响应Ctrl+Shift+=全局展开,得额外勾选Custom folding regions—— 它在「Fold by default」下方,不是 Go 专属项,而是通用设置
真正容易被忽略的是:折叠规则变更后,只有新打开的文件或重载后的文件才应用新设置,老文件里的折叠状态是“快照式”的,不会动态更新。










