VSCode误删恢复有四层路径:先试Ctrl+Z(仅限编辑器内未关闭文件);再查Timeline快照(自动保存,关机仍存);若文件被Git跟踪,用源码管理面板Restore;最后尝试Recover Unsaved Changes找回未保存缓存。

误删文件或代码后,VSCode 本身不提供“全局回收站”,但有四层递进式恢复路径:编辑器撤销栈 → 时间线快照 → Git 暂存区/工作区 → 磁盘缓存。关键看删的是什么、删完做了什么、文件是否被 Git 跟踪。
Ctrl+Z 失效时,先确认是不是还在编辑器上下文里
很多人按了 Ctrl+Z 没反应,并非快捷键坏了,而是光标根本不在可编辑区域:
- 光标停在终端、搜索框、设置页、Git 面板等非编辑器区域时,
Ctrl+Z默认不生效 - 刚执行过
Format Document或Save,Ctrl+Z不会撤回这些命令行为,只管纯文本编辑动作 - 多光标编辑下,
Ctrl+Z是逐个倒退每个光标的修改,不是整体回滚——比如你改了 3 处变量名,按一次只还原最后一处 - 如果文件已关闭或 VSCode 已重启,内存级撤销栈清空,
Ctrl+Z必然失效
文件内容没了但文件还在,优先查 Timeline(时间线)
Timeline 是 VSCode 自动保存的磁盘快照,不依赖 Git,也不要求你手动保存过,只要文件曾被打开并编辑过,关机重启后仍存在。
- 快捷键:
Ctrl+Shift+P→ 输入 “Open Timeline”;或右键资源管理器中该文件 → “Reveal in Timeline” - 时间戳越靠后的条目,越可能含你删掉前的内容;点开任一节点可直接查看完整文件内容
- 务必先右键 → “Compare with Current” 看差异,再决定是否点击 “Restore”,避免覆盖当前有效修改
- 若 Timeline 标签页压根不显示,说明该文件是未保存的临时文件(如
Untitled-1),Timeline 不起作用
整个文件从资源管理器里消失了,先看 Git 是否已跟踪
VSCode 内部删除 ≠ 系统级删除。右键删文件,本质是触发 Git 的 git rm,文件只是被标记为 deleted,还没真丢。
- 打开源代码管理面板(
Ctrl+Shift+G),在 “CHANGES” 区域找那个灰掉的文件名 - 鼠标悬停,点中间的 Discard Changes 图标,弹窗里选 “Restore File”
- 前提:该文件必须是 Git 已跟踪的(即之前
git add过或提交过);新建未提交的文件不会出现在这里 - 若已运行过
git clean -f或git reset --hard,这招失效,得查更早的 commit
文件既没在 Timeline 也没在 Git,试试 Recover Unsaved Changes
这是最后的本地缓冲兜底,只对曾被 VSCode 打开过、但尚未保存到磁盘的文件有效。
- 快捷键:
Ctrl+Shift+P→ 输入 “File: Recover Unsaved Changes” - 它会列出所有近期打开过、但当前已不存在于磁盘的文件缓存
- 选中对应文件,右键 → “Save As” 即可另存恢复
- 注意:该功能不适用于已提交 Git 后又被
git clean -f清掉的文件;也不适用于你从未在 VSCode 中打开过的文件
真正容易被忽略的点是:Timeline 和局部历史(Ctrl+Alt+Q)都依赖 files.autoSave 设置。如果设为 off 且你从不按 Ctrl+S,快照可能极少甚至没有——这时候连 Timeline 都救不了你。


















