VSCode离线安装插件必须用code --force --install-extension配合绝对路径静默执行,图形界面会卡在校验签名阶段;需彻底退出VSCode进程,且对含LSP的插件须提前在有网环境触发完整激活并复制整个扩展目录,ARM Mac需严格匹配darwin-arm64架构。

code --install-extension 必须配合 --force 和绝对路径
后台静默安装只认命令行,图形界面的“Install from VSIX”在无网或受限环境会卡在校验签名阶段,直接不响应。真正能落地的只有 code --install-extension,但默认行为是:已存在同名插件就跳过、路径错就静默失败、没焦点也照常执行(只是不生效)。
必须加 --force 强制覆盖,且路径只能是绝对路径:
- Linux/macOS:
code --force --install-extension /home/user/ext/ms-python.python-2024.6.0.vsix - Windows(推荐正斜杠):
code --force --install-extension C:/ext/prettier-9.10.3.vsix - 路径含空格或中文?必须加英文双引号:
code --force --install-extension "/mnt/内网共享/Python插件.vsix"
VSCode 进程必须彻底退出,否则缓存不刷新
静默安装不是“执行完就完事”。如果 VSCode 主进程或托盘进程仍在运行,code --install-extension 会把插件写入磁盘,但不会触发加载逻辑——你打开插件列表看到“已安装”,点启用却没反应,大概率是这个原因。
执行前务必杀干净:
- Windows:
taskkill /f /im Code.exe - macOS/Linux:
pkill -f "Code Helper"或手动右键托盘图标退出 - 验证是否清空:
ps aux | grep -i code(Linux/macOS)或任务管理器搜Code.exe
装上了却没功能?LSP 二进制根本没下载
像 ms-python.python、volarjs.volar 这类插件,.vsix 只含前端代码,首次打开 .py 或 .vue 文件时才会拉取 pyright、volar-server 等 native 二进制。离线环境下,状态栏卡在 “Downloading…” 就是这个原因。
不能只拷 .vsix,必须完整复制整个扩展目录:
- 先在有网机器上:打开一个
.py文件 → 等状态栏显示 “Ready” → 查看~/.vscode/extensions/ms-python.python-2024.6.0/(含out/、dist/、node_modules/和二进制文件) - 再拷到离线机对应路径:
%USERPROFILE%\AppData\Roaming\Code\Extensions\(Windows)或$HOME/.vscode/extensions/(macOS/Linux) - 注意目录名必须和
.vsix解压后的顶层目录一致(如ms-python.python-2024.6.0/),不能只拷里面的内容
ARM Mac 装错架构插件,VSCode 不报错只丢功能
VSCode 在 Apple Silicon 上运行 arm64 版本,但如果你拖进去的是 x64 构建的 .vsix(尤其带 LSP server 的),它不会提示错误,而是跳过加载 native 部分——补全、跳转、格式化全部失效。
验证方法:
- 运行
code --version,看 Help → About 显示的架构是arm64还是x64 - 用
unzip -l plugin.vsix查package.json,确认是否有darwin-arm64字样(GitHub Release 页面下载时,别只看版本号,盯紧平台后缀) - 常见坑:从非官方渠道下载的插件包,可能打包时漏了 arm64 构建,必须回 GitHub Releases 找带
darwin-arm64的那一版
最易被忽略的其实是“已安装但未启用”和“LSP 服务缺失”这两层——前者只需点一下启用按钮,后者却要提前在有网环境走完完整激活链。离线部署不是复制文件,而是复现一次完整的首次启用过程。


















