VSCode如何恢复误删的文件_本地历史记录查找方法

10次阅读

vscode本地历史记录默认开启,自动保存编辑并保存过的文件快照;未保存即删除的文件无记录;可通过右键“Reveal in Local history”、.history/目录手动恢复或命令面板“Developer: Show Local History”还原。

VSCode如何恢复误删的文件_本地历史记录查找方法

VSCode 本地历史记录默认开启,无需额外配置

VSCode 自带的 Local History 功能会在你每次保存、重命名、移动或删除文件时自动创建快照,只要没关掉这个功能,误删的文件大概率还在。它不依赖 git,也不需要插件——只要 VSCode 正常运行过,且文件曾被编辑并保存过,历史版本就存在。

关键点:Local History 只对**已被 VSCode 打开并保存过的文件**生效;纯新建未保存就删掉的文件,不会留下记录。

右键菜单里找“Reveal in Local History”没反应?检查文件状态

资源管理器(Explorer)中右键某个文件或文件夹,如果没看到 Reveal in Local History,常见原因有三个:

  • 该文件从未被 VSCode 编辑并保存过(比如只是被拖进窗口但没点保存)
  • 文件位于 VSCode 工作区外(例如用 File > Open File… 单独打开,而非打开整个文件夹)
  • "files.enableTrash" 被设为 false(极少见,但会禁用本地历史写入)

验证是否启用:打开设置(Ctrl+,),搜索 local history,确认 Files: auto SaveFiles: Enable Trash 均为启用状态。

手动定位本地历史存储路径,直接恢复已删文件

VSCode 把本地历史存放在工作区根目录下的隐藏文件夹里:.history/。即使原文件被删,只要工作区没被清空,这个目录通常还在。

操作步骤:

  • 打开你的项目根目录(不是 VSCode 窗口,是磁盘上的文件夹)
  • 显示隐藏文件,进入 .history/ 子目录
  • 按时间戳或文件名查找对应的历史版本(格式类似 filename_20240512T142318.js
  • 复制该文件,粘贴回原位置并重命名为原始文件名

注意:.history/ 中的文件是只读快照,不能直接编辑;恢复后建议立即保存,避免下次保存覆盖。

./my-project/ ├── .history/ │   └── src/ │       └── utils.js_20240512T142318.js  ← 这就是你要找的

用命令面板快速打开历史版本对比界面

即使文件已从资源管理器消失,只要还记得名字,仍可通过命令面板调出历史记录:

快捷键 Ctrl+Shift+Pwindows/linux)或 Cmd+Shift+PmacOS),输入并选择:Developer: Show Local History

然后在弹出的列表中输入文件名关键词,选择对应条目——VSCode 会以差异视图打开当前(空)与历史版本的对比,点击右上角 Restore 按钮即可还原。

这个方式绕过了文件是否存在,只依赖历史索引,适合已删且记不清路径的情况。

真正容易被忽略的是时间粒度:VSCode 默认每 2 分钟保存一次快照,但如果连续多次快速保存,它会合并为一个。所以别指望找到每一秒的修改,重点看保存前后的那几个节点。

text=ZqhQzanResources