误删 .idea/runConfigurations/ 后 IDE 不提醒也不恢复,因运行配置以 XML 文件物理存储于项目目录,删除即彻底移除且不进回收站或 Undo 栈,而 Local History 默认保留5天快照可还原,Git 提交过则更可靠,手动重建易遗漏 SCRIPT_PATH、WORKING_DIRECTORY 等关键字段。

项目独立配置(即 .idea/ 目录下的设置)不会随 IDE 全局配置迁移,误删后必须从本地历史、Git 或手动重建恢复;它不走 Settings 导入导出流程,也不能靠重装 PhpStorm 自动还原。
为什么 .idea/runConfigurations/ 被删后 IDE 不提醒也不恢复
PhpStorm 把运行配置、编码格式、VCS 忽略规则等项目级设置全存在 .idea/ 下,且默认不纳入 Git(.gitignore 通常含 .idea/)。你点删除时,IDE 直接物理移除 XML 文件,不进回收站,也不写入 Undo 栈——所以“撤销”无效,“导入 Settings”也找不到它。
-
.idea/runConfigurations/MyApiTest.xml丢失 → Run → Edit Configurations… 里就没了那个条目 -
.idea/encodings.xml丢失 → 文件打开乱码,且 File → File Encoding 不再记住项目级 UTF-8 设置 -
.idea/vcs.xml丢失 → IDE 不再识别当前项目已绑定 Git,Version Control 工具窗口变空
用 Local History 恢复被删的 .idea/ 文件(最快)
只要没清空 Local History(默认保留 5 天),且删除操作发生在最近几天内,就能原样找回。这个功能不依赖 Git,也不需要提前备份。
- 在项目根目录右键 → Local History → Show History
- 左侧时间线中找带
Deleted标记的快照,或滚动到删除前一刻 - 右侧文件树展开
.idea/→ 找到具体文件,比如.idea/runConfigurations/MyApiTest.xml - 右键该文件 → Revert(注意:会覆盖当前同名文件,建议先
cp -r .idea .idea.bak)
从 Git 历史找回 .idea/ 配置(最可靠,如果已提交)
团队协作中若有人把 .idea/ 提交了,或你自己曾 commit 过,这是比 Local History 更稳的方式——因为它跨机器、可追溯。
立即学习“PHP免费学习笔记(深入)”;
- 打开 Git 工具 → Show History,路径切到
.idea/runConfigurations/ - 右键某次提交 → Revert Commit 或 Copy Revision to Clipboard 粘贴回本地
- 若只记得配置名但不确定文件名:
git log --oneline --grep="MyApiTest" - 检查是否真提交过:
git ls-files | grep "runConfigurations",输出为空说明从未提交
手动重建 runConfigurations 时容易漏的关键字段
新建配置看似简单,但少填一两个参数就会导致启动失败或行为异常。尤其 PHP Script、PHPUnit 和 Laravel Tinker 类型配置,以下字段必须核对:
-
<option name="SCRIPT_PATH" value="/path/to/app/console" />—— 绝对路径易错,建议用$ProjectFileDir$变量 -
<option name="WORKING_DIRECTORY" value="$ProjectFileDir$" />—— 缺失会导致命令在错误目录执行 -
<option name="ENV_VARIABLES" value="APP_ENV=local" />—— Laravel/Symfony 环境变量不生效 - PHPUnit 配置里
<option name="TEST_FILE_MASK" value="*Test.php" />漏掉,就扫不到测试类
真正难恢复的不是结构,而是那些没写进 UI 表单的隐式参数:比如某个自定义的 Before launch 脚本、或禁用的 Run with Python Console 开关——它们只存于 XML,重建时根本看不到入口。


















