Ctrl+Z是最轻量可靠的撤销删除方法;Git可恢复已跟踪文件;Timeline视图保存本地快照;VSCode缓存路径可能残留内容;系统备份是最后防线。

刚删完就发现错了,立刻按 Ctrl+Z(Windows/Linux)或 Cmd+Z(macOS)
这是最轻量、最可靠的“后悔药”——只要文件还开着、没切标签页、没执行其他编辑操作,Ctrl+Z 通常能一步回退删除动作。VSCode 的撤销栈默认保留几十步,但它是线性且易被覆盖的:比如你删完又敲了几个字母再撤,可能就跳过关键节点了。
实操建议:
- 不要连按太多下,先松手,看内容是否回来
- 误删后顺手按了
Ctrl+S没关系,撤销仍有效;但一旦关闭 VSCode,这个栈就清空了 - 某些插件(如 Prettier 自动格式化)可能插入中间步骤,导致撤销行为不直观——如果点了几次
Ctrl+Z没反应,别硬按,换别的方法
文件整个不见了,先去源代码管理面板点 Discard Changes
只要你用 Git,且删的是已跟踪(tracked)的文件,它不会真消失,只是出现在“CHANGES”列表里,带个删除图标。打开左侧源代码管理面板(Ctrl+Shift+G),在“Changes”区域找到那个灰掉的文件名,鼠标悬停,点中间那个 Discard Changes,确认弹窗里的 “Restore File” 就行。
注意条件:
- 文件必须是 Git 已知的(即之前提交过或
git add过) - 如果删完还手动运行过
git clean -f或清过工作区,这招就失效 - 若文件是新建未提交的(untracked),Git 不管,得靠本地历史或回收站
- macOS 用户注意:系统级“移到废纸篓”和 VSCode 内部删除是两回事,前者进垃圾箱,后者只触发 Git 删除
没保存过的新文件被删了,优先查 Timeline 视图里的本地快照
VSCode 默认每 10 分钟自动存一份文件快照,关机、重启也不丢(只要没清缓存)。打开资源管理器,选中那个被删了代码的文件,在右侧找 Timeline 标签页,里面列出的每一条都是历史版本,点开就能预览当时的内容。
实操建议:
- 快捷键
Ctrl+Shift+P→ 输入 “Open Timeline” 直接唤出 - 时间戳靠后的条目更可能含你删掉前的状态
- 别直接点 “Restore”,先右键 → “Compare with Current” 确认差异,避免误恢复旧逻辑
- 如果没看到
Timeline,说明该文件从未被保存过(即 “Untitled-1” 类临时文件),此时只能靠撤销或回收站
文件不在回收站、没进 Git、也没保存过,试试 ~/.vscode-server/data/User/History 缓存路径
VSCode 有时会把编辑过的文件内容悄悄缓存在本地,哪怕你没显式保存。对远程开发(SSH / WSL / 容器)用户尤其有用——路径 ~/.vscode-server/data/User/History 下可能有被删文件的残留副本,文件名通常是哈希值,但内容可读。
实操建议:
- 在 VSCode 集成终端中运行:
ls -lt ~/.vscode-server/data/User/History/,找最近修改的文件 - 用
cat或code命令打开可疑文件,确认是否是你删的内容 - 该目录不保证长期存在,部分 VSCode 版本或设置(如禁用本地历史)会跳过写入
- 别指望它能救回“写了一半就关了编辑器”的草稿——没触发过保存事件,就不会落盘
ext4magic、debugfs)才是最后防线,但成功率低、操作门槛高,且依赖文件系统未被覆写。日常预防比事后抢救实在得多。










