code --disable-extensions可100%验证是否为插件问题:若禁用后秒开且编辑流畅,则必为插件冲突;否则需排查系统权限、gpu驱动或vscode本体。

崩溃刚发生?先用 code --disable-extensions 验证是不是插件问题
VSCode 升级后立刻闪退、白屏、反复弹 Extension host terminated unexpectedly,别急着卸载重装。第一件事是终端执行 code --disable-extensions——它跳过所有插件加载流程,不读 settings.json,不触发任何 activate() 函数。如果这时能秒开且编辑流畅,那 100% 是某个刚升级的插件在作祟;如果还崩,问题不在插件层,得查系统权限、GPU 驱动或 VSCode 本体损坏。
怎么快速锁定是哪个升级后的插件导致的
手动一个个禁用太慢,尤其你装了几十个插件。直接用 VSCode 内置的二分法工具:Developer: Start Extension Bisect:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入并运行该命令 - 它会自动把插件分成两组,禁用其中一组并重启
- 你只需回答“是”(问题复现)或“否”(正常),它就会持续缩小范围
- 3–4 轮就能精准定位到具体插件 ID,比如
ms-python.python或bradlc.vscode-tailwindcss
这个方法比“逐个启用”更可靠,能避开 A 和 B 单独没事、一起开就崩的组合冲突,也不依赖日志是否来得及写入。
Developer: Open Extension Host Log 里怎么看升级引发的报错
日志末尾的 ERROR 行才是关键线索,不是弹窗文字:
- 运行
Developer: Open Extension Host Log,拉到底部找最后一行ERROR - 重点看路径里的插件 ID 和版本号,例如
/home/user/.vscode/extensions/ms-python.python-2026.3.1/dist/extension.js—— 这说明刚升级到2026.3.1版本出问题 - 常见错误模式:
Cannot read property 'onDidChange' of undefined(API 变更)、Failed to load module 'vscode'(Node.js 版本不兼容)、spawn ENOENT(路径含空格/中文未 quote) - 若日志为空,说明崩溃发生在日志模块初始化之前,必须退回命令行阶段用
--disable-extension排查
禁用不管用?得物理删除插件目录
某些插件(尤其是旧版 Python、SFTP、AI 补全类)即使被“禁用”,也会在启动早期尝试 spawn 外部进程——此时禁用配置还没生效,崩溃照旧。这时候 UI 禁用只是假象:
- 找到对应目录:
~/.vscode/extensions/ms-python.python-2026.3.1(macOS/Linux)或%APPDATA%\Code\Extensions\ms-python.python-2026.3.1(Windows) - 直接
rm -rf或del /s /q物理删除,不要只点“卸载” - 删完重启 VSCode,再从市场安装最新版——新版通常已修复 API 兼容性或路径解析逻辑
- 注意:残留的
.incomplete文件夹或损坏的package.json会导致后续安装失败,别跳过这步
真正麻烦的不是插件升级了,而是它悄悄调用了已被废弃的 API,或者和当前 VSCode 1.118 的 Copilot CLI 或 Chronicle 历史追踪机制产生底层冲突——这类问题不会在设置里体现,也不会弹提示,只会在日志末尾静默失败。











