VSCode热退出默认开启,通过本地备份目录保存未保存文件状态(含光标、撤销栈等),重启后恢复带“●”标记的未保存文件;禁用、关闭标签页、备份清理或空间不足会导致失效。

VSCode 的“热退出”(Hot Exit)功能默认开启,它会在你关闭窗口或退出编辑器时自动保存未保存的文件状态,下次打开时恢复所有未保存的更改——不是靠传统意义上的“保存文件”,而是把编辑器的打开状态、光标位置、撤销栈、甚至未保存的脏文件(unsaved files)都记下来。
热退出如何工作
热退出不依赖文件系统写入,而是将当前工作区的状态(包括未保存的编辑内容)序列化后存到本地临时目录(如 ~/.vscode/Backups 或 Windows 下的 %AppData%\Code\Backups)。只要没手动关闭标签页、没清空备份目录、也没禁用该功能,重启 VSCode 后就能看到带“●”标记的未保存文件标签,双击即可继续编辑。
哪些情况会触发热退出
- 点击窗口右上角 × 关闭 VSCode 窗口(非整个应用)
- 使用快捷键 Ctrl+Q(Windows/Linux)或 Cmd+Q(macOS)退出应用
- 系统意外崩溃或断电后重新启动 VSCode(前提是备份未被清理)
热退出失效的常见原因
- 手动点击“关闭文件”(Close File)或 Ctrl+W 关闭了未保存的标签页:热退出只保留“仍打开的”未保存文件,关掉就丢了
-
设置了
"files.hotExit": "off":在设置中显式关闭了热退出 - 启用了“工作区信任”限制且当前文件夹未被信任:部分安全策略下会禁用临时状态保存
- 备份目录被手动清空或磁盘空间不足:VSCode 无法写入备份数据
怎么确认和管理热退出行为
打开设置(Ctrl+,),搜索 hot exit,你会看到选项:
- on:默认值,正常启用热退出
- off:完全禁用,关闭窗口即丢弃所有未保存内容
- onExitAndWindowClose:仅在完全退出应用 + 关闭所有窗口时才触发(更保守)
如果想定期清理旧备份避免占空间,可以手动删除 Backups 目录下的旧文件夹(文件夹名是时间戳),VSCode 不会误删正在使用的备份。
基本上就这些。热退出不是万能的,但它确实大幅降低了“忘了保存就关机”的焦虑感——关键还是养成看标签页有没有圆点的习惯。










