⌘ cmd ⇧ shift f9 是“重新构建”,清空旧产物并强制全量编译;⌘ cmd f9 仅增量编译改动文件,不清理缓存,易因缓存不一致导致运行时错误。

直接按 ⌘ Cmd ⇧ Shift F9 就能重新构建项目,不用点菜单、不依赖鼠标,这是最可靠的方式。
为什么用 ⌘ Cmd ⇧ Shift F9 而不是 ⌘ Cmd F9
两者都属于构建操作,但语义不同:⌘ Cmd F9 是“构建项目”,只编译有改动的文件;⌘ Cmd ⇧ Shift F9 是“重新构建”,会清空旧产物、强制全量编译整个模块。当你改了 go.mod、切换了 Go 版本、或遇到 “undefined symbol” “import cycle not allowed” 这类看似不合理但反复出现的构建错误时,⌘ Cmd ⇧ Shift F9 才是真正兜底的操作。
常见误判点:
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
- 看到构建成功就以为没问题,其实只是缓存没刷新,后续运行仍报错
- 在终端里手动
go build成功,但 Goland 里跑不起来——大概率是 IDE 没触发完整 rebuild,缓存和 metadata 不一致 - 误以为
⌘ Cmd F9等价于go build -a,实际它更接近go build的增量行为
快捷键失效的三个高频原因
按下 ⌘ Cmd ⇧ Shift F9 没反应?先排查这些:
- 焦点不在编辑器或项目视图中:Goland 对快捷键响应有上下文限制,如果当前聚焦在 Terminal、Run Console 或 Find 工具窗口,快捷键会被忽略。按
Esc回到编辑器再试 - macOS 系统级冲突:比如
⇧ Shift被输入法(如搜狗、Rime)劫持,或被 Mission Control 占用。进Settings > Keymap > Show key shortcuts conflicts查看是否有红标警告 - 项目未正确加载为 Go Module:右下角状态栏没显示
Go 1.22或gomod图标,说明 Goland 没识别出项目结构,此时构建命令根本不会绑定到快捷键上
如何确认重新构建真的生效了
光看底部 “Build completed successfully” 不够,得验证产物是否更新:
- 检查
out/production/或target/下二进制时间戳是否变化(macOS 可用ls -lt) - 运行前看 Run Configuration 的 “Before launch” 里是否勾选了
Build project—— 如果没勾,即使你按了⌘ Cmd ⇧ Shift F9,点 ▶️ 运行时仍可能用旧二进制 - 删掉
./go/pkg/mod/cache和./go/build-cache后再⌘ Cmd ⇧ Shift F9,能排除模块缓存干扰(适合 CI 本地复现场景)
最容易被忽略的是:重新构建不会自动重启正在运行的进程。如果你在 Debug 模式下改了 main 函数,按完 ⌘ Cmd ⇧ Shift F9 后必须手动点击 “Rerun” 或按 Ctrl+5(macOS 默认),否则调试器还在跑老版本。










