GoLand 的代码折叠状态不保存在项目文件中,而是持久化在用户级缓存目录的 foldings 子目录下,清除该目录可重置所有折叠状态,重启 IDE 后按默认策略重新初始化。

GoLand 代码折叠状态不保存在项目里,而是存在用户配置目录
GoLand 的代码折叠(Code Folding)展开/收起状态不会写入 .go 源文件或 go.mod,也不会随 Git 提交。它被持久化在 JetBrains 用户级配置中,路径为:~/Library/Caches/JetBrains/GoLand*/foldings(macOS)、%LOCALAPPDATA%\JetBrains\GoLand*\foldings(Windows)或 $HOME/.cache/JetBrains/GoLand*/foldings(Linux)。这个目录下是二进制缓存文件,按项目路径哈希命名,IDE 启动时自动加载。
手动清除 foldings 缓存就能重置所有折叠状态
执行以下命令即可彻底清空当前所有项目的折叠记忆:
-
rm -rf ~/Library/Caches/JetBrains/GoLand*/foldings(macOS) -
del /s /q "%LOCALAPPDATA%\JetBrains\GoLand*\foldings"(Windows cmd) -
rm -rf $HOME/.cache/JetBrains/GoLand*/foldings(Linux)
注意:GoLand* 会匹配所有版本(如 GoLand2026.1、GoLand2026.1.1),无需手动补全;清理后重启 GoLand,所有文件都会以默认折叠策略(如 import 块、注释块自动收起)重新初始化,不再复现你之前手动点开/收起的痕迹。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
别误删 options/editor-folders.xml——它管的是折叠规则,不是状态
有人混淆了「折叠行为」和「折叠状态」:~/Library/Application Support/JetBrains/GoLand*/options/editor-folders.xml 里存的是你自定义的折叠规则(比如是否默认折叠 struct 字段、函数体),不是某次打开某个文件的具体展开记录。删它只会重置你的全局折叠偏好,不影响已缓存的展开状态。真正要清状态,只盯 foldings 目录。
关掉自动保存折叠状态?GoLand 没提供开关,只能靠定期清理
GoLand 不像某些编辑器支持禁用折叠状态持久化。如果你频繁切换分支、review 大量 PR 或共享同一项目目录(如 Docker 挂载),旧的 foldings 缓存可能干扰阅读节奏——比如在 A 分支展开的长函数,在 B 分支里仍保持展开,但实际逻辑已重构。这种场景下,建议把清理命令加进日常维护脚本,或在每次 checkout 新分支后顺手执行一次。

















