IDEA或PhpStorm提交卡在“Inspecting code…”是因启用PHP语言支持及inspection插件后,提交流程被动触发全量代码扫描,尤其扫描vendor等大目录时严重卡顿;需关闭Settings→Editor→Inspections中“Show inspection results in commit dialog”和Settings→Version Control→Commit Dialog中“Check code on commit”,并手动在phpinspectionsea中排除非源码路径。

Git 提交弹窗卡在 “Inspecting code…” 是什么情况
这不是 PhpStorm 在“检查代码”,而是它试图在提交前触发一次完整的 Inspect code 扫描——默认会遍历所有已修改文件、连带依赖分析(比如跳转目标、类型推导),一旦项目含 vendor 或 node_modules 且没排除,几万文件扫下来就卡住十几秒甚至更久。这个行为和你是否勾选了“Commit dialog → Inspect code”无关,只要启用了 PHP 语言支持 + Inspection 工具(如 phpinspectionsea),IDE 就可能在提交流程中被动触发。
关掉提交前自动检查的两个关键开关
真正起效的是这两个地方,不是“取消勾选 Commit 窗口里的复选框”:
- Settings > Editor > Inspections > 右上角勾选 “Show inspection results in commit dialog” —— 这个必须取消,否则每次点 Commit 都强制走一遍全量检查
- Settings > Version Control > Commit Dialog > 取消勾选 “Check code on commit” —— 这是旧版 UI 的残留项,但某些版本仍会生效,尤其搭配 phpinspectionsea 插件时
改完不用重启,下次打开 Commit 窗口就不再卡在 “Inspecting code…”。
为什么排除 vendor 后还卡?检查 phpinspectionsea 的扫描范围
phpinspectionsea 默认不读 .gitignore,也不会自动跳过被标记为 Excluded 的目录——它只认自己配置的路径白名单。即使你右键 vendor → Mark as → Excluded,它仍可能继续扫描。
立即学习“PHP免费学习笔记(深入)”;
- 打开 Settings > Editor > Inspections > PHP > PHP Inspections (EA Extended)
- 点右侧齿轮图标 → Configure inspections scope
- 确保
vendor/、node_modules/、storage/、bootstrap/cache/等非源码目录**明确列在 “Excluded paths” 列表里** - 如果用了 Composer path repo,把对应本地包路径加到 “Included paths”,否则 exclude 后跳转会断
提交前真要检查?用轻量级 pre-commit 替代 IDE 全量扫描
IDE 做静态检查太重,适合写代码时提示;提交前验证该交给 CLI 工具,快且可控。
- 装
grumphp:运行composer require --dev phpro/grumphp - 配
grumphp.yml只扫变更文件:phpcs任务加triggered_by: ["php"]和whitelist: ["src/", "app/", "tests/"] - 禁用 PhpStorm 的 “Check code on commit”,把检查权彻底交给 Git Hook
这样既保规范,又避免每次点 Commit 都等 5 秒以上——真正的瓶颈从来不在 Git,而在 IDE 把提交当成了代码分析入口。



















