code --list-extensions --show-versions > extensions.txt是离线迁移必需命令,输出含版本号的id(如ms-python.python@2026.6.123456),用于确保native模块兼容;必须配合--allow-unverified --force离线安装.vsix,且需预加载lsp服务器、直拷keybindings.json,缺一不可。

用 code --list-extensions 导出真实插件 ID 列表
截图或复制插件市场显示名(比如“Python”“ESLint”)会直接失败,code --install-extension Python 报错 Extension 'Python' not found in the marketplace 是最常见卡点。VSCode 安装只认 ID,不是名字。
在旧电脑终端执行:
code --list-extensions --show-versions > extensions.txt
生成内容类似:ms-python.python@2026.6.123456、dbaeumer.vscode-eslint@2.4.10。注意三点:
- 必须加
--show-versions:离线环境无法自动查最新版,版本错配会导致 native 模块加载失败 - Windows 用户优先用 PowerShell,CMD 中重定向符号
>易被误写成>>导致文件追加混乱 - 保存为 UTF-8 编码:含中文插件 ID(如某些国产定制插件)否则乱码
code --install-extension 离线安装必须带 --allow-unverified
离线时 code --install-extension xxx.vsix 卡住不动,或报 INVALID_SIGNATURE,不是文件坏了,是 VSCode 在等联网校验证书链。不加参数就挂起,没有明确错误提示。
正确命令格式(以 Windows 为例):
code --install-extension "C:/vsix/ms-python.python-2026.6.123456-darwin-arm64.vsix" --allow-unverified --force
关键参数说明:
-
--allow-unverified:绕过签名校验,离线必加 -
--force:跳过“已存在”提示,避免批量安装中断 - 路径必须是绝对路径,且推荐用正斜杠
/;含空格或中文会静默失败 - Linux/macOS 可加
timeout 120防止单个插件卡死:timeout 120 code --install-extension ...
含 LSP 或 native 二进制的插件,光装 .vsix 不够
装完 ms-python.python 却没语法检查、装完 volarjs.volar 打开 .vue 文件仍显示“Downloading…”——这不是安装失败,是语言服务器根本没落地。
这些插件的 .vsix 只注册前端 UI,首次启用才触发下载 pyright-server、volar-server 等 native 模块。离线环境无法补全。
必须在有网机器上完整走一遍流程:
- 打开对应类型文件(如
test.py、App.vue) - 等状态栏显示
Ready或语言服务图标常驻 - 关掉所有 VSCode 进程(包括托盘)
- 复制整个扩展目录:例如
~/.vscode/extensions/ms-python.python-2026.6.123456/(含子目录里的node_modules和二进制可执行文件) - 粘贴到新电脑相同路径下,再启动 VSCode
快捷键配置不能靠插件列表同步
code --list-extensions 导不出快捷键,Settings Sync 依赖网络,Gist 方案在离线时不可用。唯一可靠方式是直接复制 keybindings.json 文件。
路径如下:
- Windows:
%APPDATA%\Code\User\keybindings.json - macOS:
~/Library/Application Support/Code/User/keybindings.json - Linux:
~/.config/Code/User/keybindings.json
复制过去后无需重启 VSCode,热重载立即生效。但注意:如果原电脑用了自定义 keybindings.json + keybindings.jsonc 混合写法,后者会被忽略,只认前者。
架构匹配、签名绕过、LSP 预加载、keybindings 文件直拷——这四点漏掉任一环,离线迁移就会半途失效。尤其是 ARM Mac 上误装 x64 插件,VSCode 不报错,只丢功能,排查成本最高。











