sublime text升级后插件消失或设置丢失,须彻底卸载旧版、手动迁移data(便携版)或packages目录(常规版),因st4与st3不兼容且不支持覆盖安装;务必通过“about sublime text”确认build号并从官网下载对应安装包。

升级 Sublime Text 后插件消失或设置丢失怎么办
升级后配置没保留,不是你操作错了,而是 ST4 和 ST3 的配置目录不兼容,且 Sublime 不支持覆盖安装。所谓“保留配置”,本质是手动迁移,不是靠安装程序自动完成。
常见错误现象包括:ImportError: No module named 'urllib2'(Python 2 插件在 ST4 中崩溃)、Preferences → Package Settings 里插件菜单空白、命令面板 Ctrl+Shift+P 卡死、侧边栏不显示已打开文件(side_bar_show_open_files 默认为 false)。
- 必须先彻底卸载旧版:Windows 删除控制面板中程序,macOS 拖出
/Applications/Sublime Text.app,Linux 删除/opt/sublime_text并清理软链接 - 确认旧版真实版本号:Help → About Sublime Text,看 Build 编号(如
Build 3211),别信安装包名或任务栏图标 - 新版安装包必须从
sublimetext.com/4下载对应平台的正式 build(如sublime_text_build_4169_x64_setup.exe),不要用第三方打包版
便携版升级时 Data 文件夹怎么保留
便携版所有用户数据都在 Data 文件夹(注意大小写:大写 D、小写 ata),它平级放在 sublime_text.exe(Windows)或 Sublime Text 可执行文件(macOS/Linux)旁边。升级时只换二进制,不动 Data。
容易踩的坑是解压新版 zip 包直接覆盖整个旧目录——这会清空 Data,导致全部配置丢失。
- 升级前务必关闭 Sublime Text,用任务管理器或
ps aux | grep sublime确认进程已退出 - 完整备份整个
Data文件夹(不是只拷Data\Packages\User) - 仅替换根目录下的可执行文件:
sublime_text.exe(Windows)、Sublime Text(macOS)、subl(Linux) - 验证是否成功:启动后 Help → About Sublime Text 查 Build 号,再 Preferences → Browse Packages… 看路径是否仍指向
Data\Packages
常规版升级后如何迁移 Packages 和插件
常规版配置分散在 Packages 和 Installed Packages 两个目录,但真正决定插件能否加载的,是 Packages 下的解压源码目录 + Packages/User/Package Control.sublime-settings 中的 installed_packages 列表。
只复制 Packages/User 是最大误区:它不含任何插件逻辑,只存你的配置项。比如 SideBarEnhancements 的右键菜单全在 Packages/SideBarEnhancements/ 里,漏掉就只剩空菜单。
- 关掉 Sublime Text 后,用 Preferences → Browse Packages… 弹窗确认真实路径(Windows 是
%APPDATA%\Sublime Text\Packages,macOS 是~/Library/Application Support/Sublime Text/Packages,Linux 是~/.config/sublime-text/Packages) - 完整复制整个
Packages目录(含User和所有插件子目录,如GitGutter/、Dracula/) -
Installed Packages可选复制,但非必需:删掉它重启后,只要Package Control.sublime-settings在User里完好,插件会自动重装 - ST4 安装后配置根目录名可能变化(如 Windows 是
%APPDATA%\Sublime Text 4),迁移时要粘贴到新路径下对应位置
升级后快捷键失效或插件命令报错怎么排查
快捷键绑定失败,往往不是 keymap 文件丢了,而是它依赖的命令根本没注册——原因通常是插件没加载,或 Python 运行环境不匹配。
subl --safe-mode 是唯一快速验证手段:它跳过所有 User 目录内容,只用内置逻辑启动。如果安全模式下快捷键正常,问题一定出在自定义配置或第三方插件。
- 按
Ctrl+Shift+P输入Package Control: List Packages,检查插件是否列在其中;没列出说明插件未加载 - 打开 Console(
Ctrl+`),看是否有ImportError或AttributeError,尤其注意urllib2、threading、subprocess32等模块缺失提示 - 某些插件(如 EmmyLua、SideBarEnhancements)需手动更新适配 ST4 版本,旧版会静默失败,不报错也不生效
- 自定义
.sublime-keymap中若含"context"条件(如"setting.is_widget": false),在命令面板等特殊视图中会自动禁用,不是 bug
Packages/Default/ 里,而 ST4 的 Default 已重构,旧插件不兼容时连带影响基础功能。











