必须使用system installer(vscodesetup-x64.exe),因其唯一支持自动注册code命令、右键菜单及图标关联;user installer和.zip版均无法实现这些功能,且会导致插件安装失败、命令不可用等问题。

必须用 System Installer,别碰 User Installer 或 .zip 版
System Installer(VSCodeSetup-x64.exe)是唯一能自动注册 code 命令、右键菜单和图标关联的安装包。User Installer 只写入当前用户目录,code --install-extension 在新终端里直接报 command not found: code;.zip 版连 Shell 命令都不带,后续所有插件批量安装都会卡死。
安装时务必勾选两项:
-
Add to PATH (requires shell restart)—— 不勾这个,重装比手动修 PATH 省事得多 -
Add "Open with Code" action to Windows Explorer context menu—— 批量拖文件进编辑器时省下 80% 鼠标操作
装完立刻验证:code --version 必须返回版本号;若失败,不是权限问题,而是安装过程没提权——换管理员运行安装包重来。
插件迁移只认 code --list-extensions --show-versions
截图插件名、复制市场显示名(如“Python”)、或直接拷贝 %USERPROFILE%\.vscode\extensions 文件夹,这三类操作在离线迁移中 100% 失败。因为真实安装 ID 是 ms-python.python 这种格式,版本还必须精确匹配(如 2026.6.123456),否则含 native 模块的插件(ms-vscode.cpptools、esbenp.prettier-vscode)看似安装成功,实则不加载。
正确流程:
- 旧机执行:
code --list-extensions --show-versions > extensions.txt(PowerShell 下更稳,CMD 易因重定向出错) - 文件保存为 UTF-8 编码(防中文插件名乱码)
- 新机安装前,先关掉所有
Code.exe进程(包括托盘里的) - 逐条安装并强制覆盖:
code --install-extension ms-python.python@2026.6.123456 --force - 含 native 代码的插件,要求目标机 Node.js 版本与 VSCode 内置版本一致(查
Help > About里的 Node.js 版本)
快捷键配置只能靠 keybindings.json 文件直拷
Settings Sync 依赖网络,code --list-extensions 根本不导出快捷键,截图或手动记键位更是不可靠。唯一有效路径是直接复制 keybindings.json 文件。
路径位置:
- Windows:
%APPDATA%\Code\User\keybindings.json - macOS:
~/Library/Application Support/Code/User/keybindings.json - Linux:
~/.config/Code/User/keybindings.json
复制到新机对应路径即可生效,无需重启 VSCode(热重载)。注意:该文件是纯 JSON,不要手动改结构;已有自定义键位可直接覆盖,冲突项以该文件为准。
首次启动必须禁用联网行为,否则卡死在“Downloading Pylance…”
哪怕全量安装、插件全装好,VSCode 首次启动仍会默认尝试联网拉取 ms-vscode.vscode-typescript-next、语言服务器(如 Pylance)、更新检查等——离线环境下反复超时,UI 卡住,扩展列表空白,甚至 CPU 占满。
解决方法:启动后立刻按 Ctrl+Shift+P → 输入 Preferences: Open Settings (JSON) → 加两行:
"extensions.autoCheckUpdates": false, "update.mode": "none"
这两项不加,后续所有插件(尤其是 Python、TypeScript 类)都可能处于“已安装但未激活”状态,且后台持续重试,拖慢整个编辑器响应。
真正麻烦的点不在安装步骤本身,而在于 VSCode 的“默认联网假设”——它把几乎所有关键功能(类型检查、语法高亮、智能提示)都设计成首次激活时动态下载,离线场景下必须主动切断这些隐式依赖链,否则看起来环境齐备,实际寸步难行。











