能恢复,但必须满足两个前提:目录曾被webstorm索引过,且删除时间在最近5天内;webstorm通过每分钟或每次保存/重构操作在.idea/localhistory/下自动生成轻量快照,只要目录曾被ide打开或编辑过即被索引,重启不影响数据,但未打开过的目录或超5天的快照无法恢复。

能恢复,但必须满足两个前提:目录曾被 WebStorm 索引过,且删除时间在最近 5 天内(默认保留策略)。
Local History 为什么能找回已删目录
WebStorm 不依赖 Git,而是每分钟或每次保存/重构操作时,在 .idea/localHistory/ 下自动生成轻量快照。只要该目录曾出现在项目中、被 IDE 打开或编辑过,它就被纳入索引范围——哪怕没提交到 Git,也能留下历史痕迹。
注意:.idea/localHistory/ 是纯本地路径,重启 IDE 不影响数据;但它不记录未被打开过的文件/目录,也不会存超过 5 天的旧快照(可改配置延长,但默认就是 5 天)。
右键目录 → Local History → Show History 的实操要点
这是最常用路径,但容易点错位置:
- 必须右键「该目录的父级目录」,不是已删目录本身(它已经不存在了);比如删了
src/api/,就右键src/文件夹 - 弹出的历史窗口里,找带
Deleted或External change标记的时间点,优先选删除操作前最近的一条 - 展开左侧树形结构,定位到原目录名(如
api),右键 →Revert—— 这样只恢复该目录,不会覆盖其他文件 - 如果直接对父目录
Revert,会把整个src/下所有当时存在的文件都还原,风险更高
Revert 操作前必须确认的三件事
Revert 是覆盖写入,不是“复制一份”,一旦执行无法撤回:
- 检查当前目录下是否已有同名新文件或子目录,避免被意外覆盖
- 建议先手动备份当前工作区(比如压缩整个项目根目录),再操作
- 若只想比对内容而非立即覆盖,可用右键 →
Copy Path From Revision导出快照副本,用 diff 工具核对后再决定是否Revert
整个项目目录都被删了怎么办
这种情况常见于误拖进回收站后清空,或 rm -rf 执行过猛:
- 在桌面或任意位置新建一个同名空文件夹(如原项目叫
my-app,就建my-app/) - 用 WebStorm →
Open打开这个空文件夹(IDE 会识别为项目,但提示无内容) - 右键这个空文件夹 →
Local History→Show History,选中最早一条记录 →Revert - WebStorm 会把快照里的全部文件结构还原进来,包括已删的源码、配置、甚至
node_modules(如果它曾被索引)
真正容易被忽略的是:WebStorm 的 Local History 不保证 100% 覆盖所有文件类型——比如大体积二进制资源、临时生成文件(.log、.tmp)、或从未被编辑器打开过的 JSON/YAML 配置,可能不在快照中。恢复后务必逐个验证关键目录是否存在、内容是否完整。











