atom的core.autosave不保存untitled文件,仅对已关联磁盘路径的文件生效;新建文件必须先手动ctrl+s指定路径,关闭窗口时未命名内容会直接丢失且无提示。

core.autosave 对 untitled 文件根本无效
Atom 的 core.autosave 不会保存未命名文件(即标签显示为 “Untitled” 或路径为空的缓冲区)。这不是 bug,是设计行为——它只对已关联到磁盘路径的文件生效。你切走焦点、关窗口,它都跳过这类文件,也不报错、不提示。
- 验证方式:新建一个文件(不保存),输入内容,Alt+Tab 切出再切回 → 文件名仍带 * 号,内容未落盘
- 想让新文件“自动落地”,必须先手动执行一次
core:save(Ctrl+S 或 Cmd+S),给它分配路径 - 没有插件能绕过这个限制,因为 Atom 内核在保存前会检查
editor.getPath()是否为 null 或空字符串
为什么装 autosave 插件反而让 untitled 更难存
旧版 autosave 插件(非 core 内置)对 untitled 文件行为更不可控:它可能尝试写入临时路径、触发权限错误,或在你还没想好文件名时就弹出保存对话框,打断流程。而 core.autosave 至少保持静默,不干扰。
- 如果你看到“自动保存了 Untitled-1”之类现象,基本可断定是旧插件残留(检查
~/.atom/packages/autosave是否存在) - 删掉该目录后重启 Atom,untitled 文件将严格遵循“不自动保存”规则,避免意外覆盖或路径污染
替代方案:用快捷键一键保存并命名
真正解决“未命名文件易丢”的办法不是靠自动保存,而是缩短手动保存路径。推荐绑定一个快捷键,把“保存 + 弹出对话框”合并成一步:
- 编辑
~/.atom/keymap.cson,添加:'atom-text-editor[data-grammar="source.js"]': 'ctrl-alt-s': 'core:save'
- 这个组合键会直接触发保存逻辑,不管当前是否 untitled —— 第一次必弹系统对话框,强制你选位置和名字
- 别用
ctrl-s绑定,它已被core:save占用;选冷门但易按的组合,比如ctrl-alt-s或cmd-shift-s
容易被忽略的边界:关闭窗口前的兜底行为不适用于 untitled
很多人误以为“关 Atom 前会自动保存所有内容”,其实 core.autosave 的兜底只对已知路径的文件有效。untitled 文件在窗口关闭时会被直接丢弃,且无任何确认弹窗。
- Atom 不像 VS Code 那样提供“恢复未保存文件”面板,一旦关掉,内容彻底消失
- 唯一防御手段是养成习惯:新建文件后 5 秒内按一次 Ctrl+S,哪怕只是随便起个名存到桌面
- 如果团队协作中常传未保存片段,建议改用支持云暂存的编辑器,Atom 在这个场景下天然不友好











