确认插件冲突导致死机需先进真正安全模式(windows/linux按住ctrl不放启动,macos按cmd),控制台顶行出现“file ./packages/xxx/xxx.py”或“importerror: cannot import name 'create_connection'”即锁定问题插件,须通过package control禁用并重启验证。

插件冲突导致 Sublime 死机,基本就是 plugin_host 崩溃或进程闪退,不是配置写错、也不是电脑慢——是某个插件在后台执行了非法操作,比如调用不存在的 Python 函数、陷入无限循环、或强行 hook 系统级 API。安全模式能快速隔离,但进错模式、看错日志、禁用方式错误,反而会拖长排查时间。
怎么确认真进了安全模式
安全模式不是“启动后按快捷键”,而是启动瞬间触发的加载隔离。Windows/Linux 必须在双击图标前按住 Ctrl 键不放(不是 Shift),macOS 是按住 Cmd;松手早于窗口渲染、从开始菜单/Spotlight 启动、用触摸板双击,都会失效。
验证是否成功:启动后立刻按 Ctrl+Shift+P,输入 Package Control: List Packages。如果返回空列表或 “No packages available”,才算真正进入;如果还能看到 GitGutter、LSP 等名字,说明插件仍在加载,排查无效。
控制台里看哪几行日志最准
别扫全屏红字,只盯堆栈最顶上 2–3 行:
- 出现
File "./Packages/XXX/xxx.py"→ 记下XXX,90% 就是它 - 报
ImportError: cannot import name 'create_connection'→ 插件硬编码用了 Sublime 内置 Python 不支持的函数,常见于旧版urllib.request调用 - 反复刷
Key binding X overrides Y→ 多个插件绑了同一快捷键,UI 线程卡死,不一定崩溃但必卡顿 - 末尾有
plugin_host has exited unexpectedly且前面没报错 → 很可能插件在on_activated或on_load里写了死循环或内存越界操作
禁用插件必须走 Package Control,不能删文件夹
手动删 Packages/SomePlugin 文件夹,Sublime 仍可能从 Installed Packages/SomePlugin.sublime-package 加载,冲突照旧。正确流程是:
- 进
Preferences → Package Control → Disable Package,选中目标插件名 - 必须重启 Sublime,它不会热重载
ignored_packages列表 - 禁用后控制台仍有同名残留日志?检查大小写,
emmet和Emmet在 Sublime 里算两个插件 - 禁用一个后弹窗变少但没消失?说明存在依赖链,比如 A 插件依赖 B,B 崩溃导致 A 报
NoneType is not callable,得从底层插件开始禁
回滚插件版本和清理缓存的关键动作
有些插件(如 SublimeCodeIntel)崩溃后,用户目录下会残留顽固缓存,重装也白搭:
- 关掉 Sublime,进
Packages目录(Preferences → Browse Packages),删掉对应插件文件夹 - 把旧版
.sublime-package文件丢进去,注意不是所有插件都支持覆盖安装,部分必须用Package Control: Install Package手动指定 GitHub 旧版 URL - 顺手删掉用户目录下的
.codeintel(Windows 是%userprofile%\.codeintel)、Cache、PersistentSession.sublime_session - 若最近打开过含
node_modules的项目,去Index文件夹(路径同Session.sublime_session)直接删整个文件夹,比单清缓存更彻底
最容易被忽略的是 Windows 杀软误杀:进程存在不到 1 秒就消失,事件查看器里有 Event ID 1000、描述含 Application Hang,大概率是 Defender 或火绒把 sublime_text.exe 当可疑进程干掉了。验证方法很简单:右键任务栏图标 → “打开文件所在位置”,对 sublime_text.exe 右键属性 → “数字签名” 页签,确认签名者是 Sublime HQ Pty Ltd。如果不是,说明你装的是被篡改过的版本。











