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

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 Save 和 Files: Enable Trash 均为启用状态。
手动定位本地历史存储路径,直接恢复已删文件
VSCode 把本地历史存放在工作区根目录下的隐藏文件夹里:.history/。即使原文件被删,只要工作区没被清空,这个目录通常还在。
操作步骤:
- 打开你的项目根目录(不是 VSCode 窗口,是磁盘上的文件夹)
- 显示隐藏文件,进入
.history/子目录 - 按时间戳或文件名查找对应的历史版本(格式类似
filename_20240512T142318.js) - 复制该文件,粘贴回原位置并重命名为原始文件名
注意:.history/ 中的文件是只读快照,不能直接编辑;恢复后建议立即保存,避免下次保存覆盖。
./my-project/ ├── .history/ │ └── src/ │ └── utils.js_20240512T142318.js ← 这就是你要找的
用命令面板快速打开历史版本对比界面
即使文件已从资源管理器消失,只要还记得名字,仍可通过命令面板调出历史记录:
快捷键 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入并选择:Developer: Show Local History
然后在弹出的列表中输入文件名关键词,选择对应条目——VSCode 会以差异视图打开当前(空)与历史版本的对比,点击右上角 Restore 按钮即可还原。
这个方式绕过了文件是否存在,只依赖历史索引,适合已删且记不清路径的情况。
真正容易被忽略的是时间粒度:VSCode 默认每 2 分钟保存一次快照,但如果连续多次快速保存,它会合并为一个。所以别指望找到每一秒的修改,重点看保存前后的那几个节点。










