Open Editors视图是判断未保存文件最可靠的方式,它明确列出Untitled类内存文件、已命名但未保存文件及已同步文件,不受标签栏截断、主题颜色或窗口切换影响。

直接看 Open Editors 视图,别只盯着顶部标签栏——那是最容易漏掉未保存文件的地方。
为什么标签页上的 ● 圆点不靠谱
VS Code 标签页右上角的 ● 圆点确实表示“已修改未保存”,但它在以下情况会失效或难发现:
- 标签文字过长被截断,圆点挤到看不见的位置
- 深色主题下
tab.activeModifiedBorder颜色太淡,和背景对比度不足 - Untitled-1 类纯内存文件可能被排在最右侧,滑动后直接消失
- 多个工作区窗口并存时,你只扫了一个窗口的标签栏
真正可靠的判断依据不是图标,而是文件是否拥有磁盘路径。只要标题栏显示 Untitled-1 或类似名称,它就还没落盘——哪怕你按了 10 次 Ctrl+S,只要没弹出保存对话框,就仍是内存状态。
Open Editors 视图怎么开、怎么看
点击资源管理器右上角的 ⋯(三个点)→ 勾选 Open Editors。启用后,资源管理器顶部会出现一栏带小图标的列表,这里明确区分三类状态:
-
Untitled-1、Untitled-2:纯内存新文件,无路径,Reveal in Explorer必然无效 -
src/utils.ts ★或index.html (unsaved):已保存过、当前有改动,可正常定位到磁盘路径 - 文件名后既无 ★ 也无
(unsaved):内容与磁盘一致,但注意——如果刚被外部程序改过且 VS Code 没检测到,它也可能错误显示为“已同步”
这个视图是唯一能一次性列出所有打开编辑器(含未保存)的地方,不依赖视觉图标,也不受标签排列干扰。
Ctrl+K S 保存全部,但要注意它不救 Untitled
Ctrl+K 松开 → S(Windows/Linux)或 Cmd+K 松开 → S(macOS)触发的是 workbench.action.files.saveAll,它会强制写入所有已命名且有改动的文件,但对 Untitled-1 类文件静默跳过——不会报错,也不会弹保存对话框。
所以批量保存前,请先确认:
- 检查 Open Editors 列表里有没有
Untitled-开头的条目;有,就得手动File: Save As一次 - 若用了
files.autoSave: afterDelay,延迟期间切出编辑器(比如点终端)才能触发保存;一直专注打字,它不会动 - 远程开发(SSH/WSL)下,该快捷键保存的是远端路径,本地 Backups 目录里找不到这些文件
崩溃后找回未保存内容,关键看 files.hotExit 和 Backups 目录
VS Code 能否恢复蓝屏或崩溃前的未保存内容,不取决于你按了多少次 Ctrl+S,而取决于两个底层开关:
-
files.hotExit必须是onExit或onExitAndWindowClose(默认开启) - 备份快照是否已在崩溃前生成——Backups 目录下的子文件夹按哈希命名,修改时间最接近崩溃时刻的那个才可能含你的代码
路径位置:
- Windows:
%APPDATA%\Code\Backups\ - macOS:
~/Library/Application Support/Code/Backups/ - Linux:
~/.config/Code/Backups/
这些文件没有扩展名、没有语言标识,只能用文本编辑器逐个打开确认。别指望自动识别——VS Code 不记录文件名,只存内容快照。


















