VSCode启动卡在“正在加载扩展”界面,主因是扩展激活时执行阻塞操作;其次为杀软拦截、错误配置或storage.json损坏,需按顺序排查。

VSCode 启动卡在“正在加载扩展”界面
这是最常见卡顿场景,本质是某个扩展在激活阶段执行了阻塞式操作(如同步网络请求、大文件读取、未加超时的 fs.readFileSync),导致主进程挂起。VSCode 1.80+ 已默认启用扩展主机沙箱,但旧版或禁用沙箱后仍易触发。
- 快速验证:启动时加
--disable-extensions参数,若秒开则确认为扩展问题 - 定位罪魁:启动后立即打开命令面板(
Ctrl+Shift+P),运行Developer: Show Running Extensions,观察哪些扩展长期显示“Activating…” - 临时隔离:在
~/.vscode/extensions/中重命名可疑扩展目录(如esbenp.prettier-vscode-9.10.3→esbenp.prettier-vscode-9.10.3.disabled),重启测试 - 注意:部分扩展(如
ms-python.python)首次激活会预编译语言服务器,耗时属正常,但不应超过 15 秒;超时即需排查其日志
Windows 上因杀毒软件拦截 Code.exe 或 node.exe
尤其在企业环境,Windows Defender 或第三方杀软(如 McAfee、Symantec)会对 VSCode 主进程及其子进程(尤其是 node.exe 扩展主机)反复扫描,造成大量 I/O 等待,表现为启动后 CPU 占用低但无响应。
- 检查方法:任务管理器中查看
Code.exe和子进程node.exe的“磁盘”列是否持续 100%,右键“打开文件位置”确认路径是否被杀软标红 - 解决方案:将 VSCode 安装目录(如
C:\Users\name\AppData\Local\Programs\Microsoft VS Code)及用户数据目录(C:\Users\name\AppData\Roaming\Code)加入杀软白名单 - 关键点:必须同时放行
Code.exe和其调用的node.exe(位于resources\app\out\vs\workbench\services\extensions\node_modules.asar.unpacked\vscode-js-debug\lib\extension\debugAdapter.js等路径下)
settings.json 中配置了高开销的全局搜索或文件监听
某些看似无害的设置会在启动时触发全盘扫描,例如 "files.watcherExclude" 配置错误、或 "search.exclude" 使用了通配符但路径不存在,导致 VSCode 底层 chokidar 尝试遍历无效路径。
- 典型错误配置:
"search.exclude": { "**/node_modules": true, "**/dist": true, "/home/user/project/**": true }——末尾路径为绝对路径且不存在,VSCode 会尝试解析并递归检查,卡死在 fs.stat - 安全写法:所有
exclude规则必须是相对路径模式(用**/xxx),避免出现/full/path/或C:\\path\\ - 验证方式:临时重命名
settings.json为settings.json.bak,用默认配置启动;若恢复流畅,逐条注释原配置定位问题项
用户数据目录损坏导致 workspaces.json 或 storage.json 解析失败
VSCode 启动时需加载工作区历史和 UI 状态,若 storage.json(存储扩展状态、窗口布局等)因异常关闭而损坏,JSON 解析会卡住或抛错但不报 UI 提示。
- 路径定位:
~/.vscode/storage.json(Linux/macOS)或%APPDATA%\Code\storage.json(Windows) - 修复步骤:关闭 VSCode → 备份原
storage.json→ 删除它 → 重启 VSCode(会自动生成新文件,丢失上次窗口布局但可接受) - 进阶检查:用
jq或在线 JSON 校验工具打开storage.json,确认是否含非法字符(如未转义的换行、BOM 头、UTF-8 编码错误) - 预防:禁用自动保存工作区到云端(
"workspaces.experimental.cloud设为false),减少跨设备同步引发的格式冲突
真正难排查的往往是组合问题:杀软 + 某个扩展的初始化逻辑 + 用户目录里一个损坏的 storage.json。建议按顺序逐项排除,别跳步。每次修改后务必完全退出 VSCode(包括系统托盘进程),再重新启动验证。










