能恢复,但需满足文件曾被PhpStorm索引、至少保存过一次且删除未超5天;Local History依赖IDE自动快照,右键父目录操作,Revert会覆盖当前文件,仅复制代码行应使用对比视图。

能恢复,但前提是文件曾被 PhpStorm 索引过、至少保存过一次(Ctrl+S),且删除时间未超默认 5 天保留期;Local History 不是回收站,也不是 Git,它靠的是 IDE 自动存的快照,删完立刻操作成功率最高。
Local History 右键菜单灰掉或没反应?先确认文件是否被跟踪
常见现象:右键目录 → Local History → Show History 是灰色,或点了没弹窗。这不是功能坏了,是 PhpStorm 根本没给这个文件建过快照。
- 检查路径是否在项目根目录下——比如
src/Helpers/StringHelper.php可以,但拖进来的/tmp/test.php或vendor/下的文件,默认被Settings → Editor → File Types → Ignore files and folders排除 - 该文件是否至少手动保存过一次?新建后没按
Ctrl+S就删掉的,不会出现在任何快照里 - 去项目根目录下看
.idea/localHistory/是否存在对应子路径,例如删了app/Http/Controllers/UserController.php,应有.idea/localHistory/app/Http/Controllers/UserController.php/;没有就说明 IDE 从未接管过它
从 Local History 恢复单个误删的 PHP 文件
关键逻辑是:Local History 记录的是“路径下的变更”,所以得右键它原本所在的**父目录**,不是项目根目录,也不是空白处。
- 如果删的是
database/migrations/2024_10_01_000000_create_users_table.php,就右键database/migrations/文件夹 →Local History→Show History - 在弹出窗口左侧时间线中,找带
Deleted标记的条目(通常排最前) - 右侧文件树展开,找到你要的文件(可能显示为灰色或带删除线),右键 →
Revert Selection - 确认弹窗点
OK,文件会立刻还原到原路径
只想要某几行代码,千万别点 Revert
Revert 是覆盖写入,不是复制粘贴。一旦点了,当前同名文件会被整个替换成历史版本,你后来加的其他修改全没了。
立即学习“PHP免费学习笔记(深入)”;
- 双击历史列表中某个时间点,在新窗口打开对比视图
- 在左侧(旧版)或右侧(当前版)任意代码块上右键 →
Copy Lines from Left to Right(或反向) - 这样只粘贴你选中的那几行,不影响其余内容
- 如果目标行在多个快照间反复变动,建议先用
Ctrl+Z撤销最近几次操作,再结合 Local History 找到最干净的中间态
运行配置(Run Configuration)被删了也能找回
运行配置实际存为 XML 文件,路径是 .idea/runConfigurations/xxx.xml,Local History 同样会记录它的删除动作。
- 在项目根目录右键 →
Local History→Show History - 找带
Deleted的条目,或删操作前一刻的快照 - 展开右侧文件树,定位到
.idea/runConfigurations/MyApiTest.xml这类文件 - 双击预览内容,确认
<option name="SCRIPT_PATH" value="..." />等关键字段匹配 - 右键 →
Revert,文件将恢复到.idea/runConfigurations/下 - 注意:
Revert会覆盖现有同名配置,建议操作前先备份整个.idea/runConfigurations/目录
最容易被忽略的一点:Local History 快照不是永久的。IDE 重启多次、执行过 File → Invalidate Caches and Restart… 并勾选了 Invalidate and Restart,或者手动清过 .idea/localHistory/,快照就彻底没了——这时候只能翻 Git、临时文件或系统级恢复工具。


















