必须通过官方 marketplace 页面点击“download extension”获取带签名的直链 .vsix;离线安装需解压到 extensions/ 下符合 publishername.extensionname-version 命名的子目录,并重启 vscode;语言服务器等 native 依赖须在有网环境预加载后完整复制。

怎么从 Marketplace 下载正确的 .vsix 文件
不是所有“Download Extension”按钮都可靠,尤其在第三方镜像站或缓存页面上,可能返回 404 或旧版本。必须用官方市场链接,且路径要包含插件 ID 和版本号。
正确做法:打开 https://marketplace.visualstudio.com/items?itemName=ms-python.python,在右侧 Resources 区域点击 Download Extension——这个按钮生成的 URL 是带签名的直链,能确保版本一致。
错误做法:从 GitHub Release 页面直接下载,除非你手动校验了 package.json 中的 engines.vscode 字段和 SHA256 值;很多开源插件的 Release 页未同步最新 .vsix 版本。
陷阱:ms-python.python-2024.6.0.vsix 可能不兼容 VSCode 1.84,但官网详情页的 Requirements 栏会明确写 “VS Code >= 1.85”,务必对照检查。
code --install-extension 失败的三个卡点
命令行安装看似简单,但失败时往往只报错一行,根本看不出问题在哪。实际卡点集中在路径、签名、依赖。
-
code命令不可用?不是 PATH 问题,而是 VSCode 没启用“Shell Command”:打开 VSCode →Ctrl+Shift+P→ 输入Shell Command: Install 'code' command in PATH→ 回车执行 - 报错
INVALID_SIGNATURE?离线环境无法验证微软证书链,加参数--allow-unverified:code --install-extension python.vsix --allow-unverified - 装完不生效?插件可能依赖其他扩展(如 Python 插件强依赖
ms-python.pylance),--list-extensions看不到不代表装成功,得重启 VSCode 后再查Developer: Show Running Extensions
手动解压 .vsix 到 extensions/ 目录为什么总不生效
这是离线安装里最常踩的坑:把 .vsix 文件直接扔进 %USERPROFILE%\.vscode\extensions\(Windows)或 $HOME/.vscode/extensions/(macOS/Linux)根本没用。
VSCode 启动时只扫描该目录下的 子文件夹,每个子文件夹名必须是 publishername.extensionname-version 格式(如 ms-python.python-2024.6.0)。
正确做法是先解压:unzip extension.vsix -d ms-python.python-2024.6.0,再把整个解压出的文件夹移进去。
移动后必须完全退出 VSCode(包括托盘进程),否则缓存不会重载新扩展。
Python / Prettier / Rust 类插件离线安装后“不工作”的真实原因
装上了但 Python/Prettier/Rust 插件不工作?native 依赖没离线到位。
很多插件安装只是“注册”,首次启用时才下载语言服务器或 CLI 工具(如 pyright、prettier、rust-analyzer),这些默认走外网,离线环境会卡在状态栏 Downloading... 或输出面板报 spawn ENOENT。
正确做法:在有网机器上,用同一版本 VSCode 安装插件 → 打开一个对应语言的文件(如 test.py)→ 等待 LSP 启动完成 → 关闭 VSCode → 进入 ~/.vscode/extensions/ 找到对应插件文件夹 → 复制整个文件夹(含已下载的 node_modules 或 dist 里的二进制)到离线机同路径下。
注意:ms-python.python 实际是壳,真正干活的是 ms-python.pylance 和 ms-python.vscode-pylance,必须一并处理。











