goland中windows/linux默认折叠快捷键为ctrl+shift+-,macos为cmd+shift+-,作用于光标所在代码块;需在settings中启用functions、comments等折叠项才能批量折叠,自定义region需手动开启支持。

GoLand 里折叠代码的默认快捷键是什么
Windows/Linux 默认是 Ctrl + Shift + -(减号)折叠,Ctrl + Shift + +(加号)展开;macOS 是 Cmd + Shift + - 和 Cmd + Shift + +。注意不是数字小键盘的加减号,而是主键盘区顶部那一排——否则大概率没反应。
这个快捷键作用范围是「当前光标所在代码块」:比如在函数体内按一下,会把整个函数体折叠成一行;在 if 语句内按,只折叠那个 if 分支;如果光标在注释或空行,可能什么都不会发生。
- 折叠后能看到类似
// ... 12 lines的提示,但实际显示文字取决于语言和结构 - 对 import 块、struct 定义、方法列表也生效,不局限于函数
- 如果快捷键无效,先检查是否被系统或其他软件劫持(比如某些输入法或远程桌面工具会吞掉
Cmd/Ctrl+Shift组合)
怎么一键折叠所有函数或所有注释
GoLand 不提供“折叠所有函数”这种粒度的内置快捷键,但可以通过「代码折叠区域」预设来批量操作。打开 Settings/Preferences → Editor → General → Code Folding,勾选你关心的项,比如 Functions、Comments、Imports、Struct tags 等。
勾选后,再用 Ctrl + Shift + - 就不只是折当前块,而是按设定规则折叠所有匹配区域——前提是这些区域在当前文件可见范围内(未滚动出去的部分不会被处理)。
- 勾选
Comments后,所有块注释(/* ... */)和文档注释(/** ... */)都会被识别为可折叠单元 -
Struct tags对 Go 的 struct 字段标签有效,比如json:"name"那一整行会被收起 - 禁用
One-line functions,否则像func foo() { return 42 }这种单行函数也会被误折叠
为什么我按了快捷键但没反应,或者只折叠了一层
常见原因是当前光标不在可折叠结构内部,或者该结构本身不被 GoLand 认为是“可折叠单元”。Go 的函数、if/for/select、struct、interface、const/var 块都支持,但普通表达式、单行赋值、裸 return 不行。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
另一个高频问题是:你其实在一个被折叠的父块里操作。比如函数已被折叠成一行,此时光标在那行上,再按折叠快捷键,只会尝试折叠“这一行文本”,而它不属于任何嵌套结构,于是静默失败。
- 先按
Ctrl + Shift + +展开全部,再重新定位光标到想折叠的结构内部(比如函数第一行左括号前) - 右键点击编辑器任意位置 →
Folding → Expand All或Collapse All,比快捷键更可靠 - 某些插件(如 Rainbow Brackets)或自定义配色方案可能干扰折叠图标渲染,导致视觉上“没折叠”,其实已经生效——把鼠标悬停在行号边栏的
⋮上确认
如何自定义折叠区域(比如按 //region 折叠任意代码段)
GoLand 支持用特殊注释标记自定义折叠区域,但 Go 语言默认不启用。你需要手动开启:Settings/Preferences → Editor → General → Code Folding → Show code folding outline,然后勾选 Custom folding regions。
之后就能用 //region name 和 //endregion 包裹任意代码段(注意是双斜杠,不是 /* */),它们就会变成可折叠节点。不过要注意 Go 的 linter(如 golint 或 revive)通常会警告这种非标准注释,线上代码慎用。
- region 名称支持空格和中文,但不要含
)、}等可能干扰解析的字符 - 嵌套 region 是允许的,但折叠时只响应最内层的光标位置
- 如果 region 没生效,检查是否拼错为
// regin或漏了//endregion——少一个就整个区域无法识别
Go 的结构本身比较扁平,真正需要深度折叠的场景不多;但 interface 实现、大量字段的 struct、测试用例表格驱动写法,这几个地方最容易忽略折叠设置是否生效。










