Local History 能恢复误删文件是因为它自动保存文件变更快照,前提是文件曾被索引且缓存未被清除;它不记录未保存新建文件,也不保留物理删除后多次重启IDE的快照。

PhpStorm 的 Local History 能恢复误删文件,但只在文件曾被 IDE 索引过、且未被彻底清空缓存的前提下有效——它不是回收站,而是基于文件变更快照的本地时间线。
Local History 为什么能找回刚删的文件
Local History 是 PhpStorm 自动维护的本地变更记录,每当你保存、编辑、重命名或删除文件时,IDE 都会悄悄存一份快照(默认保留 5 天,最多 5000 个变更)。它不依赖 Git,也不需要提前配置,只要文件进过项目视图、被索引过,删除后就能从历史里捞出来。
但注意:Local History 不记录纯新建后没保存就删掉的文件;也不保留已从磁盘物理删除、且 IDE 重启过多次后的快照(缓存可能被自动清理)。
从 Local History 恢复单个误删文件的实操步骤
前提是:你记得文件名,或它曾出现在项目目录中(哪怕现在 Project 面板里已经看不到了)。
立即学习“PHP免费学习笔记(深入)”;
- 确保项目根目录在
Project工具窗口中可见(按Alt+1/Cmd+1唤出) - 在项目根目录上右键 → 选择
Local History→Show History - 在弹出窗口中,找带
Deleted标记的时间点(通常排在列表靠前) - 选中该条目 → 右侧文件树中展开,找到你要恢复的文件 → 右键 →
Revert Selection - 确认弹窗点
OK,文件会立刻还原到原路径
恢复整个误删的文件夹(比如手滑删了 app/Http/Controllers)
Local History 对文件夹的记录粒度较粗,不能直接“恢复整个目录”,但可通过父级目录的历史快照还原其内容:
- 在父目录(如
app/Http)上右键 →Local History→Show History - 筛选时间范围,找到删除操作发生前的最近一个快照(状态为
Modified或Created) - 展开该快照下的子节点,勾选所有属于目标文件夹的条目(如
Controllers/下全部.php文件) - 点击右下角
Revert Selected,IDE 会批量还原这些文件到当前项目结构 - 如果还原后文件权限异常或编码错乱,手动右键 →
Reload from Disk刷新一次
Local History 找不到记录?检查这三处硬限制
不是所有删除都能靠 Local History 救回来,以下情况它天然失效:
-
File→Close Project后再删的文件:Local History 只对打开的项目生效 - 用系统命令行
rm -rf或资源管理器直接删的文件,且之后没触发过 IDE 重索引(比如没点Reload project from disk) - 删完立刻执行了
File→Invalidate Caches and Restart…并勾选了Invalidate and Restart—— 这会清空所有 Local History 快照
真正容易被忽略的是:Local History 的快照生命周期和 IDE 缓存强绑定,它不会写入磁盘持久化。一旦缓存被清、项目被关、或超过默认保留阈值,快照就不可逆消失。


















