能找回,但前提是 vscode 崩溃前已生成备份——仅对编辑过的内容创建备份,路径为:windows %appdata%\code\backups\,macos ~/library/application support/code/backups/,linux ~/.config/code/backups/;需手动进入哈希命名的子目录,查找可读的 file_* 二进制文件,用 vscode 打开并另存为带正确扩展名的文件。

能找回,但前提是 VSCode 崩溃或强制退出前已生成备份文件——它不会为每个新建未保存的空白标签都存一份,只对实际编辑过、有内容变化的文件才写入磁盘备份。
备份目录在哪?路径必须手敲对
VSCode 的备份不走用户文档或桌面,而是写进系统级配置目录,路径大小写、斜杠方向、拼写错一个字符就进不去:
- Windows:
%APPDATA%\Code\Backups\(在资源管理器地址栏直接粘贴可打开) - macOS:
~/Library/Application Support/Code/Backups/(注意Application Support是连在一起的,空格不能少) - Linux:
~/.config/Code/Backups/(.config是隐藏目录,需开启显示隐藏文件)
进到 Backups 目录后,你会看到一堆 32 位哈希名的文件夹(如 8a3f9b2c1d4e5f6a7b8c9d0e1f2a3b4c),每个文件夹对应一次编辑会话。别指望靠名字识别内容,得逐个打开看。
怎么确认哪个备份文件是你需要的草稿
备份文件本身没有扩展名,也不保留原文件名,但内部结构固定:
- 每个哈希文件夹下有
workspaces.json和若干file开头的二进制文件(如file_0,file_1) - 真正存草稿内容的是那些
file_*文件——用任意文本编辑器(如记事本、TextEdit、VSCode 自己)直接打开它们 - 如果内容可读(比如开头是
function或const),且和你记得的代码片段吻合,就是它;如果全是乱码或空,跳过 - 不要依赖修改时间排序:VSCode 写备份的时间戳可能滞后于你实际编辑时间,尤其在多标签并行时
恢复时容易漏掉的关键动作
找到正确 file_* 后,不能双击直接运行或拖进 VSCode 编辑器——它不会自动识别语言、也不会补扩展名:
- 右键该文件 → “用 VSCode 打开”,然后手动执行
File: Save As,务必输入正确扩展名(如index.js),否则保存后仍是无类型纯文本 - 如果原草稿是从剪贴板粘贴新建的(没关联任何路径),备份里也不会带路径信息,你得自己回忆或比对内容确认归属
- 恢复后立刻
Ctrl+S保存一次,避免再次关闭时因files.hotExit设置为off而丢失 - 别删备份目录里的文件夹——除非你已确认所有内容都导出成功;多个哈希文件夹可能对应同一会话的不同阶段
真正麻烦的不是找备份,而是 VSCode 在进程被任务管理器强杀、或系统蓝屏时,可能根本来不及写入 Backups 目录——这时候连哈希文件夹都不会出现。所以日常必须设 files.autoSave 为 afterDelay,把延迟压到 500 毫秒,让保存动作更贴近实时。











