sync-settings插件仅同步6个纯文本配置文件:config.cson、keymap.cson、snippets.cson、styles.less、init.coffee和packages.json,不包含插件本身、配置文件、汉化资源及工作区布局;可靠方案是用git手动管理这些文件。

sync-settings 插件不是镜像同步,它只上传你改过并保存的纯文本配置文件。想靠它一键还原完整 Atom 环境?不行。但只要理解它的边界,它确实能省掉 80% 的手动配置。
哪些文件真会被 sync-settings 同步?
插件实际上传到 GitHub Gist 的只有以下 6 个文件(全部是纯文本):
-
config.cson:核心编辑器设置(tab length、font size、soft wrap 等) -
keymap.cson:自定义快捷键映射 -
snippets.cson:代码片段定义 -
styles.less:CSS 样式覆盖 -
init.coffee:启动时执行的脚本 -
packages.json:已安装插件名列表(不含插件本身,也不含插件配置)
注意:packages.json 只存名字,恢复时会调用 apm install 安装,但插件自身的设置(比如 autocomplete-plus 的词典路径)不会被读取或写入。
为什么 sync-settings: restore 后插件没生效?
常见现象:执行 sync-settings: restore 后,插件列表看起来装好了,但功能不工作,或者快捷键失效。
- 插件确实被
apm install装上了,但它们各自的配置文件(如~/.atom/packages/xxx/lib/config.cson)根本不在同步范围内 - 某些插件依赖 Node.js 模块(
node_modules),而sync-settings不管这些目录,重装后需手动apm rebuild - 如果插件要求重启 Atom 才加载(比如主题类插件),
restore不会自动重启,得自己关再开一次 - 国内用户常卡在
apm install超时,得提前配好镜像:apm config set registry https://npmmirror.com/mirrors/atom
Gist ID 和 token 填错会导致什么?
这两个值填错,sync-settings 不会报“认证失败”这种明确错误,而是静默失败或返回空数据——你点 sync settings: restore,界面没反应,右上角也没提示。
-
token必须带gist权限,缺了就无法读写 Gist;旧 token 过期或被删也会导致失败 -
Gist ID是 URL 里/c9*********11那一串,不是整个 URL,也不是 Gist 页面显示的“Secret gist #12345”里的数字 - 不同电脑可以共用一个 token,但 Gist ID 必须完全一致;换新 Gist 就等于丢掉历史备份
- 建议把 token 和 Gist ID 存进密码管理器,别只贴在 Atom 设置页里——重装 Atom 后插件配置清空,就再也找不回来了
真正可靠的长期方案其实是 Git
sync-settings 适合临时换机、快速拉起环境,但它依赖 GitHub Gist 的可用性和 token 生命周期。一旦 Gist 被删、token 失效、或插件更新导致配置格式变动,恢复就可能中断。
- 更稳的做法:在
~/.atom目录下建私有 Git 仓库,只 track 上面列出的那 6 个文件 - 加
.gitignore排除storage/、compile-cache/、packages/*/node_modules、packages/*/lib - 跨平台(Windows + macOS)务必设
git config --global core.autocrlf input,否则config.cson换行符冲突会导致解析失败 - 恢复时:克隆仓库 → 覆盖对应文件 →
apm list --installed --bare | xargs apm install
Git 方案不依赖第三方服务,配置变更可追溯,插件升级引发的配置不兼容也能通过 commit 历史回退——这才是 Atom 用户该盯住的“复杂点”。











