确认是扩展导致崩溃:先执行code --disable-extensions,若秒开且无报错则100%为扩展问题;再用developer: toggle developer tools查看console中是否反复出现“extension host terminated unexpectedly”等错误;最后通过code --disable-extension逐个禁用高危扩展(如ms-python.python)或直接删除对应extensions目录彻底隔离。

VSCode 启动卡死、白屏或闪退,基本可以断定是某个扩展在加载阶段就让 extension host 崩溃了——不是配置错了,是插件直接把进程干掉了。
怎么确认是扩展导致崩溃
别试几次重启,直接终端执行 code --disable-extensions。如果这时能秒开、编辑正常、控制台没报错,那问题 100% 出在扩展上。再补一个验证动作:打开命令面板(Ctrl+Shift+P),运行 Developer: Toggle Developer Tools,切到 Console 标签页,看有没有反复刷 Extension host terminated unexpectedly 或 Failed to load extension 这类错误。
用 code --disable-extension 快速隔离元凶
比在 UI 里点来点去快得多,尤其适合启动失败连插件面板都打不开的情况:
- 先查出所有已装扩展:
code --list-extensions - 挑近期更新/新装的高危对象下手,比如
ms-python.python、esbenp.prettier-vscode、bradlc.vscode-tailwindcss - 逐个禁用测试:
code --disable-extension ms-python.python,再启动看是否恢复;不行就换下一个 - 如果怀疑范围大,用分批禁用法:
code --disable-extension esbenp.prettier-vscode --disable-extension dbaeumer.vscode-eslint
禁用不管用?直接删掉扩展目录
某些扩展(尤其是旧版 Python、vscode-icons)即使被“禁用”,也会在启动时尝试初始化,残留逻辑照样触发崩溃。这时候禁用只是假象:
- Linux/macOS:运行
rm -rf ~/.vscode/extensions/ms-python.python-*(通配符匹配版本号) - Windows:进
%USERPROFILE%\.vscode\extensions\,手动删掉对应文件夹 - 删完不用重启系统,直接再跑
code就行——VSCode 启动时发现目录没了,自然跳过加载
避免下次再踩坑的关键细节
崩溃类冲突往往发生在扩展劫持了主进程入口(比如改 argv.json 或 patch main.js)或调用了已被废弃的 API。这类问题不会在设置里体现,也不会弹提示,只会在日志里静默失败。所以每次 VSCode 升级后,如果某个老插件突然不工作,优先查它的 package.json 里 "engines": {"vscode": "..."} 是否锁死了旧版本——手动放宽范围比等作者更新快得多。











