Invalidate Caches会清空当前IDE版本下所有项目的历史索引数据,包括符号引用、文件系统虚拟映射、VCS Log索引等,但Local History默认保留,除非手动勾选对应选项。

GoLand Invalidate Caches 会清掉哪些东西
它不是只删 Go 相关缓存,而是清空当前 IDE 版本下所有项目的历史索引数据:符号引用(比如结构体跳转、补全)、文件系统虚拟映射、VCS Log 索引、内置浏览器缓存等。但 Local History 默认不删——除非你在弹窗里手动勾选「Clear file system cache and Local History」。注意:Local History 本身有 5 工作日自动过期机制,和这次清理无关。
什么时候必须点 Invalidate and Restart
出现以下任一现象,基本可以确定是缓存错位,而不是代码或配置问题:
-
import "github.com/some/pkg"标红,但go build成功 - 刚改完
go.mod并执行了go mod tidy,IDE 里依赖仍显示未解析 - Project 面板整个消失,或模块根目录识别失败(比如
fmt跳转不了) - 右键菜单里没有
Synchronize,或点了也没反应
这些都不是网络或 GOPROXY 的问题,是 GoLand 自己的索引没对上当前文件状态。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
操作时容易漏掉的关键选项
点击 File → Invalidate Caches… 后,弹窗里有三个常被忽略的复选框:
-
Clear file system cache and Local History:解决“文件已删但还在 IDE 里显示”的假存在感 -
Clear VCS Log caches and indexes:仅当你发现 Git Log 搜索卡顿、结果不全时才启用 -
Delete embedded browser engine cache and cookies:几乎不用勾——JCEF 浏览器缓存极少出问题,勾了反而要重登 IDE 内置服务
绝大多数情况,只点 Invalidate and Restart 就够了;如果重启后仍异常,再回来勾第一项重试。
清理后要注意的延迟行为
重启后左下角会出现 Indexing 提示,这是 GoLand 在重建符号索引,时间取决于项目大小和模块数量。此时别急着写代码——补全、跳转、错误检查都不可靠。尤其当项目含大量 replace 或私有模块时,首次索引可能持续 1–3 分钟。另外,go clean -cache 和 go clean -modcache 是命令行行为,和这里 IDE 的缓存清理完全独立,该清还得单独跑。

















