离线安装卡在99%是解压.vsix时写入.extensions-tmp目录失败,非网络问题;需彻底退出VSCode进程后删除对应平台的该隐藏临时目录,再重启安装。

为什么离线安装卡在99%不是网络问题
VSCode显示“Installing…”停在99%,实际是解压 .vsix 包时写入 .extensions-tmp 目录失败,不是下载没完成,而是后续解压步骤被阻塞。这个目录专用于暂存未完成安装的插件包,一旦被杀软拦截、权限不足或残留进程占用文件句柄,VSCode就静默挂起——不报错、不重试、也不释放锁。
常见现象包括:拖入 .vsix 后进度条走完但无反应;点击 Install 按钮变灰,右下角提示一直挂着;任务管理器中能看到 Code Helper.exe 或 node.exe CPU 占用突增后停滞。
必须删除的临时目录和路径
这个临时目录位置固定,但跨平台路径不同,删错地方无效,删漏则问题复现:
- Windows:
%USERPROFILE%\.vscode\.extensions-tmp - macOS/Linux:
~/.vscode/.extensions-tmp
注意:.extensions-tmp 是隐藏目录(开头带点),资源管理器默认不显示,需手动输入路径或开启“显示隐藏文件”。它和 .vscode/extensions 无关,也和 %APPDATA%\Code\Cache 无关——后者只影响 UI 渲染,对插件安装无作用。
删之前必须彻底退出所有 VSCode 进程
只要任意一个 Code.exe、Code Helper.exe 或 node.exe 还在运行,系统就无法真正删除 .extensions-tmp 下的文件,磁盘空间也不会释放。即使你看到窗口已关,托盘图标还在,或 Remote - WSL 连接未断开,都算“没退干净”。
- Windows:打开任务管理器 → “详细信息”页 → 结束全部
Code.exe、Code Helper.exe、node.exe - macOS:活动监视器 → 搜索
Code→ 强制退出所有相关进程 - Linux:终端执行
pkill -f "code"或killall code - 若用过 Remote - WSL:先在 VSCode 中按
Ctrl+Shift+P→ 输入Remote-WSL: Close Remote Connection,再终端运行wsl --shutdown
删完不重启 VSCode 就等于白干
清理 .extensions-tmp 后如果直接启动 VSCode,它会尝试复用损坏的缓存状态继续安装,大概率再次卡住。必须确保该目录已被清空(可进路径确认是否为空),再启动 VSCode。
另外两个易忽略点:
- 离线安装失败弹出
Unable to load extension,大概率是签名校验机制仍在尝试联网。最稳做法:拔网线/关 Wi-Fi → 完全退出 VSCode → 启动 → 拖入.vsix→ 安装 - 若仍失败,可在
settings.json临时加一行:"extensions.installVerification": false(仅调试用,验证完务必删掉)
真正难清理的是插件自己写的全局数据,比如某些 AI 插件会在 globalStorage 里存 token,这类不会随 .extensions-tmp 一起消失,得单独查路径处理——不查,下次装同名插件就自动“复活”旧凭据。


















