atom 1.27+ 自动保存必须启用 core.autosave(非插件),通过设置页core开关亮起或config.cson中正确写入'core': 'autosave': true(两空格缩进)来确认;仅失焦触发,不支持实时保存,未命名、只读、ftp文件均无效。

Atom 1.27+ 版本的自动保存功能必须通过 core.autosave 控制,不是装插件,也不是改 JSON 格式配置——配错层级或残留旧插件,就等于没开。
确认 Atom 版本和 autosave 开关是否真可用
打开 Atom → Help → About,版本必须 ≥ 1.27。低于这个版本,设置页里根本不会出现 Autosave 开关,装插件也没用。升级后重启,再按 Ctrl+,(Windows/Linux)或 Cmd+,(macOS)打开设置,左侧选 Core,往下拉找 Autosave —— 它必须是亮起状态。如果灰色、点不动,或压根看不到,大概率是残留了旧版 autosave 插件,要去 ~/.atom/packages/(macOS/Linux)或 %USERPROFILE%\.atom\packages\(Windows)里删掉整个 autosave 文件夹。
手动改 config.cson 的正确写法
图形界面开关可能被插件覆盖,直接改配置更稳。打开 Atom → Config → Open Config Folder,编辑 config.cson,在顶层对象里加这一行:
'core': 'autosave': true
注意:
- 必须是两个空格缩进,不能用 Tab
- 不能漏掉 'core': 这一层
- 不能写成 autosave: true(漏层级)、{"core": {"autosave": true}}(CSON 不支持 JSON 语法)、'core': {'autosave': true}(单引号包键名非法)
- 改完保存即可,无需重启,但生效与否仍以设置页 Core 下的开关为准
为什么改了还是不保存?检查这三类触发失败场景
core.autosave 的行为非常明确:只在编辑器「失焦」时保存,不是实时、不是定时、也不管你敲了多少字。所以常见“不生效”其实是预期行为:
- 当前文件是未命名的(
untitled),它直接跳过,不报错也不提示 - 文件路径是只读、FTP 挂载、或系统权限受限(比如 macOS 的 Full Disk Access 未授权 Atom),同样被忽略
- 你一直在当前 tab 打字,没点其他 tab、没切到终端/浏览器、没点菜单栏、没碰状态栏 —— 那就不会保存,
*号会一直挂着
关闭窗口前会强制触发一次保存,但这只是兜底动作,不能当日常依赖。
别把 build-on-save 和 core.autosave 搞混
core.autosave 只负责写文件,不触发任何构建任务。如果你开了它,但 Sass 没编译、JS 没转译,是因为缺了另外两样东西:
-
build-on-save:监听「保存事件」并启动构建流程 -
atom-build-sass或language-babel:实际执行编译逻辑
漏掉任意一个,都会出现「文件存了,但输出没更新」。另外注意:language-babel 要求右下角 language mode 显式设为 Babel ES6 JavaScript,否则 transpileOnSave: true 完全不响应。
真正容易被忽略的是:Atom 已停止维护,所有依赖底层事件的插件(如 Local-History)都已失效;而 core.autosave 虽然还能用,但它不防丢——未保存内容在失焦前永远只在内存里,切走前崩溃就没了。想可靠防丢,得换编辑器,或者自己搭系统级快照脚本。











