package control.sublime-settings 必须完整备份,仅备份 preferences.sublime-settings 无效;其 installed_packages 字段决定插件是否自动加载,缺失会导致命令不可用、快捷键报错;ignored_packages 仅影响已加载插件行为,不控制加载本身。

Package Control.sublime-settings 必须完整备份
只备份 Preferences.sublime-settings 不起作用,Package Control.sublime-settings 才真正控制插件启用状态。它里面有个 installed_packages 字段,是个字符串列表,比如 ["SideBarEnhancements", "GitGutter"] —— 缺了这个,新环境里插件不会自动加载,命令面板搜不到对应命令,快捷键直接报 command not found。
常见错误是漏掉这个文件,或只复制了 Preferences.sublime-settings 里的 "ignored_packages" 字段,误以为这就够了。实际上,ignored_packages 只影响已加载插件的行为,而 installed_packages 决定哪些插件会被 Sublime 启动时主动载入。
- 确认该文件存在:
Packages/User/Package Control.sublime-settings - 内容必须是合法 JSON:不能有尾逗号、不能用单引号、不能写
//注释 - 如果用过 Package Control 的禁用功能(右键 → Disable Package),它会把插件名写进
ignored_packages,但不会从installed_packages里删——所以只要这个字段还在,重启后插件仍会加载
别碰 Installed Packages 目录里的 .sublime-package 文件
Installed Packages/ 下的 .sublime-package 文件只是缓存,不是配置。手动备份它们不仅没必要,还容易引发冲突:比如你迁移到新机器后,Sublime 发现 Installed Packages/GitGutter.sublime-package 和 Packages/GitGutter/ 同时存在,可能优先加载压缩包版本,导致你本地改过的 GitGutter.sublime-settings 被忽略。
正确做法是只保留 Packages/User/Package Control.sublime-settings,然后删掉 Installed Packages/ 整个目录(或留空)。重启 Sublime 后,Package Control 会根据 installed_packages 列表自动重装——前提是网络通畅、channel 可访问。
- 删
Installed Packages/前确保Package Control.sublime-settings已备份且无语法错误 - 重装过程不依赖本地缓存,而是从 packagecontrol.io 拉取最新版,所以能避开旧版插件兼容问题
- 若某插件在 channel 中已下架(如旧版
EmmyLua),则需单独备份其Packages/EmmyLua/目录并手动迁移
便携版用户只需备份 Data 文件夹,但要注意大小写
便携版所有配置都在 Data/ 文件夹里,路径是硬编码的:必须是大写 D 小写 ata(即 Data,不是 data 或 DATA)。Windows/macOS/Linux 全部统一,不存在系统路径差异。
如果你看到 Preferences → Browse Packages… 弹出的是 .../Data/Packages,那就确认是便携版。此时 Package Control.sublime-settings 实际位于 Data/Packages/User/,而 Installed Packages/ 在 Data/Installed Packages/ —— 但依然建议清空后者,靠 Package Control.sublime-settings 触发重装。
- 备份时关掉 Sublime,复制整个
Data文件夹(含子目录) - 迁移时把
Data放回新电脑上便携版程序同级目录,不要嵌套、不要改名 - 升级便携版?先备份
Data,再用新版sublime_text.exe替换旧版,Data原封不动保留
验证是否备份成功的关键动作
恢复配置后,不能只看菜单有没有插件项,得验证命令是否真实可用。最直接的方法是打开命令面板:Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Package Control: List Packages。
如果弹出非空列表(哪怕只有 Package Control 自身),说明框架已加载、channel 已连通、installed_packages 生效;如果提示“no results found”或卡在“loading”,大概率是 Package Control.sublime-settings 路径不对、JSON 格式错、或 Installed Packages/ 里残留了损坏的 .sublime-package 文件。
- 检查控制台(
Ctrl+`)是否有reloading plugin: package_control之后的报错 - 运行
sublime.installed_packages_path()看返回路径是否指向你预期的位置 - 插件功能异常时,优先查
Packages/User/下对应插件的.sublime-settings文件是否存在且格式正确
Package Control.sublime-settings 里那个看似普通的字符串数组——它不像主题或快捷键那样直观可见,但一旦缺失,整个插件生态就瘫痪了。











