能恢复,但方式取决于删除类型和环境条件:未关闭vscode时可用ctrl+z秒回;git跟踪文件可从源代码管理面板还原;未提交文件可尝试open timeline;已提交文件用git restore;彻底丢失则需系统级工具。

能恢复,但方式取决于你删的是“代码段”还是“整个文件”,以及是否用 Git、是否还开着 VSCode。没有万能方案,得按现场条件选路子。
Ctrl+Z 还没关编辑器就按,别等
这是唯一能秒回的操作,但只在删除后几秒内、没切标签页、没保存新状态时有效。VSCode 的撤销栈会记录资源管理器里的文件删除动作,所以哪怕你右键删了整个 .ts 文件,只要编辑器窗口还开着、没点过 Ctrl+S 或打开命令面板,Ctrl+Z(Windows/Linux)或 Cmd+Z(macOS)大概率能把它拽回来。
- 常见失效场景:删完顺手按了
Ctrl+S;光标停在终端或设置页;用了多光标编辑后乱按;macOS 上误按Ctrl+Z(应为Cmd+Z) - 别连按十几次,先松手看有没有反应;按完没变化,说明撤销栈已跳过该操作
- 重启 VSCode 后这个栈就清空了,不跨会话
文件还在资源管理器里显示为 deleted?去源代码管理面板还原
只要你项目根目录下有 .git,且被删的文件曾被 Git 跟踪(即执行过 git add 或至少提交过),它就不会真消失,只是出现在源代码管理面板的 CHANGES 区域,标为 deleted。
- 快捷键
Ctrl+Shift+G打开源代码管理面板 - 在
CHANGES列表里找到那个灰掉的文件名 - 鼠标悬停,点中间那个
Discard Changes图标 → 确认Restore File - 如果文件是新建后直接删的(从未
git add),这里不会出现,别浪费时间翻
文件彻底没了,但 VSCode 还开着:试试 Open Timeline
VSCode 会在后台自动存快照,哪怕没开 Git,只要文件曾被打开并编辑过,就可能有历史版本。这不是插件,是原生功能,路径在 ~/.vscode-server/data/User/History(远程)或 %APPDATA%\Code\User\History(Windows),但别手动翻——结构不稳定,用界面更可靠。
- 在资源管理器中,右键**该文件原来所在的父文件夹**(不是空白处),选
Open Timeline - 或快捷键
Ctrl+Shift+P→ 输入Timeline: Open Timeline - 找删除前最近一条带
Saved或Auto-saved的记录,右键 →Compare with Current先确认内容 - 限制很明确:未保存过的临时文件(如
Untitled-1)不记录;SSD 空间吃紧时旧快照会被自动清理
Git 已提交过,但删的是最新版:用 git restore 或 git checkout
如果文件从资源管理器里彻底消失,又不在 CHANGES 列表里,但它曾经被 git commit 过,那 Git 仓库里肯定还有。别信“删了就没了”,Git 是分布式的,本地就有全量历史。
- 先验证:在集成终端里运行
git log --oneline -- path/to/file,有输出说明 Git 认得它 - 最稳妥命令:
git restore --source=HEAD --staged --worktree path/to/file(Git 2.23+) - 兼容写法:
git checkout HEAD -- path/to/file(注意双横线) - 如果文件是新建未提交的,Git 不知道它存在过,这条路走不通
真正难恢复的,是那种既没进 Git、也没打开过、删完就关了 VSCode 的文件——这时只能靠系统级工具抢救,而成功率取决于你删完有没有继续写盘。预防永远比恢复便宜:初始化 Git 只要 10 秒,装 Local History 插件也不费事,但它们能在关键时刻把一天的工作拉回来。











