atom 1.27+ 自带 core.autosave 功能,无需安装自动保存插件;验证是否启用需在设置→core 中确认 autosave 开关为亮起状态,否则可能未生效。

Atom 1.27+ 不需要、也不该装“自动保存插件”——内置 core.autosave 已覆盖全部合法场景,装插件反而会冲突或静默失效。
确认 core.autosave 是否真启用
别信 config.cson 改了就生效。唯一可靠验证方式是打开 Atom 设置(Ctrl+, 或 Cmd+,),左侧选 Core,往下拉找 Autosave 开关——它必须是亮起状态。
- 如果看不到这个选项:Atom 版本
- 如果开关灰色或点不动:大概率残留了旧版
autosave插件,删掉~/.atom/packages/autosave(macOS/Linux)或%USERPROFILE%\.atom\packages\autosave(Windows) - 手动改
config.cson更稳,但必须写成:'core': 'autosave': true(两空格缩进,不能用 Tab,不能漏core层级)
core.autosave 的触发条件极严格
它不是“实时保存”,而是「失焦即存」——只要没切出编辑器,文件标题栏带 * 号,就没落盘。常见失效不是配置错,而是根本没满足触发前提:
- 当前文件是
untitled(新建未保存):直接跳过,不报错也不提示 - 文件路径为 FTP 挂载、只读、权限不足目录:静默忽略
- 你一直在当前 tab 打字,没点其他 tab / 没 Alt+Tab 切应用 / 没点菜单栏或状态栏空白处:不会保存
- 关闭窗口前会强制触发一次保存,但这不是日常防丢依据
真正防丢要靠 timecop + hotExit 组合
Atom 原生集成的 timecop 是唯一能抓取「未保存内容」的机制:每 30 秒自动快照当前 buffer(含未保存修改),按 Alt+Shift+T 调出面板可恢复误删、对比差异或复制旧版本。
-
timecop默认开启,快照存在内存里,不依赖文件是否已命名或可写入 - 配合
core.hotExit(默认开):异常退出后重启,能恢复所有已打开的 tab 和路径 - 注意:
timecop只监控当前已打开的 buffer;关掉的 tab 就彻底退出监控范围 - 别碰
local-history:Atom 自 2022 年底停更后,该插件因事件系统移除和权限拦截已完全失效,控制台常报EPERM: operation not permitted或TypeError: Cannot read property 'onDidSave' of undefined
想“编辑即存”?风险远大于收益
社区插件如 atom-autosave-onchange 确实能实现每字符保存,但代价是:JSON 缺个 }、JS 少个分号时,错误内容直接刷进磁盘,后续编译失败或 Git 提交污染历史。
- 这类插件绕过了语法校验环节,与
linter-eslint或prettier-atom易冲突 - 如果你真需要强一致性,应换用 VSCode + 持续维护的
Local History(作者 zyfdegh),它支持磁盘快照、右键恢复、跨平台稳定运行 - 留在 Atom 就得接受它的设计哲学:宁可不存,也不乱存——边界清晰,反而安全
最易被忽略的一点:core.autosave 和 timecop 是两条独立路径:前者管文件落盘,后者管编辑历史。只开一个,防丢能力就断了一半。











