sync-settings插件在2026年已不可用,因其依赖的GitHub Gist API自2022年底起拒绝写操作并返回403错误,且Atom 1.75+升级导致OAuth流程中断;唯一可靠方案是手动git管理~/.atom下的config.cson、keymap.cson、snippets.cson、styles.less和init.coffee等核心文本文件,并配合apm install恢复插件。

sync-settings 插件在 2026 年已不可用,别再填 token 白忙活
它依赖的 GitHub Gist API 自 2022 年底起对写操作返回 403 Forbidden,Atom 1.75+ 升级后 Electron 的 OAuth 流程也彻底中断。即使你填对了 Personal Access Token 和 Gist ID,执行 Sync Settings: Backup 后大概率静默卡住,或报 Failed to fetch gist list——这不是你网络差,是服务链路已断。
常见现象包括:Settings 页面填完凭证无任何提示;Ctrl+Shift+P 输入命令后无响应;Sync Settings: View Backup 打开的是 404 链接或空 gist 页面。
真正能跨设备同步 Atom 配置的只有 git 手动管理 ~/.atom
Atom 所有用户级配置都落在 ~/.atom/ 目录下,其中真正需要同步的只是几个纯文本文件: config.cson、keymap.cson、snippets.cson、styles.less、init.coffee,以及 packages/ 下已启用插件的元数据(可通过 apm list --installed --bare 输出验证)。
实操建议:
- 新建一个私有 git 仓库,只跟踪上述核心文件,忽略
storage/、compile-cache/、packages/*/node_modules等临时或二进制内容 - 跨平台时注意
config.cson中路径分隔符(\vs/)和行尾符(CRLFvsLF),建议全局设置git config --global core.autocrlf input - 国内用户恢复插件前,先配好 apm 镜像源:
apm config set registry https://npmmirror.com/mirrors/atom - 每次改完快捷键或主题后,手动
git add+git commit,不依赖“自动同步”幻觉
如果坚持用 sync-settings,必须同时满足三个硬条件
即便知道它已失效,仍有少量用户因历史项目或内网环境尝试启用。此时必须确认:
-
Personal Access Token必须勾选gist权限,且仅显示一次——关掉页面就再也看不到,务必立刻存入密码管理器 -
Gist ID必须来自一个 secret gist,不是 public gist,也不是随便建的 gist;要从 URL 末尾完整截取,例如https://gist.github.com/abc123def456中的abc123def456 - 备份前确保 Atom 已重启——改过
keymap.cson但没重启,Sync Settings: Backup就读不到最新映射,导致新机器上快捷键失效
另外,sync-settings 只记录插件名,不打包插件本身;Restore 时全靠 apm install 实时拉取,一旦某个插件下架(如 linter-jshint)或网络超时,就会静默跳过,控制台也不会报错。
恢复后必须手动验证,不能只看“完成”弹窗
Sync Settings: Restore 显示成功 ≠ 功能可用。容易被忽略的关键检查点:
- 运行
apm list --installed --bare,比对输出是否与 gist 中packages.json一致 - 打开开发者工具(
Ctrl+Shift+I),切换到 Console 标签页,搜索Failed to require或cannot find module,这类错误常因插件安装不全或路径不对引发 - 汉化包
simplified-chinese-menu的开关状态会被同步,但翻译资源def/*.json不会——换机后若离线,菜单可能回退英文,需单独下载对应版本资源 - 某些插件(如
autocomplete-plus的自定义词典)存在独立配置文件,不在同步范围内,得单独备份~/.atom/autocomplete-plus/下的 JSON 文件
最麻烦的一点是:token 和 gist ID 本身不会被同步进 gist,它们只存在本地插件设置里。换机器重装 Atom 后,必须手动重新填写这两个值——很多人以为“restore 一次就一劳永逸”,结果发现插件列表空空如也,其实是卡在这一步。

















