vs code点击“uninstall”仅删除注册表项和启用状态,插件文件夹、settings.json配置、globalstorage及workspacestorage缓存均残留;须手动删除extensions目录下对应id文件夹、清理json配置项、清空cache/cacheddata等缓存路径并彻底退出所有code进程。

卸载后插件残留导致离线重装失败
VSCode 卸载插件不等于彻底清除——~/.vscode/extensions/(Linux/macOS)或 %USERPROFILE%\AppData\Roaming\Code\Extensions\(Windows)里可能还留着旧目录,尤其是手动解压安装过的插件。这些残留会和新装的同名插件冲突,造成“已安装但不生效”“状态栏卡在 Downloading…” 等静默异常。
实操建议:
- 卸载前先关闭所有 VSCode 实例,包括右下角托盘进程(Windows)或 Activity Monitor 中的
Code Helper(macOS) - 打开用户 extensions 目录,按插件 ID 搜索并**手动删掉整个文件夹**,例如
ms-python.python-2024.6.0/或esbenp.prettier-vscode-9.10.3/,别只删.vsix文件 - 检查
~/.vscode/extensions/下是否有带-backup、-old或数字后缀的疑似残留目录,一并清理 - 重启 VSCode 后按
Ctrl+Shift+P输入Developer: Show Running Extensions,确认列表里没有重复或灰色条目
重装时 code --install-extension 报 “Extension is not compatible”
这不是网络问题,是版本锁死:插件 package.json 里的 "engines": {"vscode": "^1.85.0"} 和你本地 code --version 输出的版本(如 1.84.2)不匹配。VSCode 不提示具体哪不兼容,只静默拒绝。
实操建议:
- 用
unzip -l your-plugin.vsix | grep "extension/package.json"确认文件可读,再解压查看extension/package.json中的engines.vscode - 运行
code --version,取输出中第一位小数点前的完整版本号(如1.85.2→1.85),必须 ≥ 插件要求的最低版本 - 若版本偏低,不要改
package.json强行绕过——部分插件依赖新版 API,改了也跑不起来;应降级插件,去 GitHub Releases 页面找带vscode-1.84兼容标识的旧版 .vsix - ARM Mac 用户额外注意:
code --version显示arm64,但下载的 .vsix 是x64构建的,也会静默失效;需核对 .vsix 解压后package.json是否含darwin-arm64字段
重装后语言插件仍无功能,LSP 服务没落地
像 ms-python.python、dbaeumer.vscode-eslint 这类插件,离线重装只完成了前端注册。首次打开 .py 或 .js 文件时,它会尝试拉取 pyright、eslint 等 LSP 二进制,离线环境直接卡住,状态栏一直显示 “Downloading…”。
实操建议:
- 别在离线机上“首次触发”,而是在有网机器上完整走一遍:安装插件 → 打开对应文件 → 等状态栏变 “Ready” → 查看
Output面板中 Python/ESLint 通道确认无报错 → 再打包整个插件目录(含out/、dist/、node_modules/和平台原生二进制) - 拷贝到离线机时,确保目标路径是用户 extensions 目录,不是 VSCode 安装目录下的
resources/app/extensions/ - 复制完必须彻底退出 VSCode(不是仅关闭窗口),否则缓存不刷新,旧 LSP 进程可能还在跑
拖拽 .vsix 重装没反应,其实根本没进安装流程
拖拽失败不是插件问题,是 VSCode 没收到事件。高频原因就三个:VSCode 没焦点、全屏/远程桌面拦截、拖的是假 .vsix。
实操建议:
- 拖之前点击编辑器任意空白处,确认任务栏图标高亮;若用 RDP/TeamViewer,先断开远程连接,本地操作
- 别信文件名,用
unzip -t your-plugin.vsix校验完整性;若报错,说明下载损坏或被杀软篡改 - 浏览器下载后自动加了
.zip后缀(如prettier.vsix.zip),不能靠右键重命名,要用 PowerShell 执行Copy-Item "prettier.vsix.zip" "prettier.vsix" -Force - 拖入后没弹窗?立刻按
Ctrl+Shift+P输入Extensions: Show Installed Extensions,看列表里有没有新增项——没出现就是根本没触发安装











