VSCode 迁移配置首选内置 Settings Sync 功能,适合联网环境且需多端一致的场景;若需离线迁移或重装系统,则需手动备份 settings.json、keybindings.json 并通过命令行导出扩展列表。注意机器级设置(machine settings)和加密凭据无法直接同步,需单独处理。
先说结论:完整迁移需区分在线同步与离线备份两种路径,核心是分离用户设置与扩展实体文件。
- 适合:换机重装、多设备协作、内网离线环境
- 先准备:GitHub/Microsoft 账户或手动备份配置文件
- 验收:检查状态栏云图标、扩展数量及快捷键生效情况
命令速用版
离线迁移扩展依赖命令行导出 ID 列表,避免使用显示名导致安装失败。
code `--list-extensions` > extensions.txt
cat extensions.txt | xargs -L 1 code `--install-extension`Windows PowerShell 用户请使用 Get-Content extensions.txt | ForEach-Object { code `--install-extension` $_ }。
为什么会这样
VSCode 配置分散在用户级、工作区级和机器级多个层级,单纯复制文件夹无法还原加密状态。
用户设置存储在 settings.json,但机器级设置存储在 securestorage 数据库中,扩展目录含编译产物及私有状态。SSH 连接配置实际由 Remote-SSH 扩展读取系统 ~/.ssh/config 并叠加其设置,这解释了为何单纯复制 settings.json 无法还原完整行为。
分步处理
方案一:在线同步(推荐)
使用内置 Settings Sync 功能,基于 GitHub 或 Microsoft 账户端到端加密存储。
- 打开命令面板,输入 Preferences: Turn on Settings Sync。
- 选择账户登录,勾选 Settings、Extensions、Keybindings、Snippets。
- 确认状态栏出现蓝色云图标且悬停显示 Sync: On。
- 新设备登录同一账户,选择 Download and merge。
方案二:离线手动迁移
适用于无网络或需完全控制配置文件的场景。
- 备份配置文件:复制 settings.json、keybindings.json 和 snippets/ 目录。
- 导出扩展列表:运行 code `--list-extensions` > extensions.txt。
- 新设备恢复:覆盖配置文件至 User 目录,命令行批量安装扩展。
怎么验证是否生效
同步完成后需人工确认关键配置项是否落地,避免静默失败。
- 在线同步:运行 Sync: Show Summary 查看同步了哪些扩展和设置项。
- 扩展安装:打开 Extensions 视图,搜@installed 确认数量是否一致。
- 快捷键:尝试触发自定义键位,确认无冲突且生效。
常见坑
- 平台路径差异:Windows 的 C:\ 与 macOS 的~/Library/路径在跨系统同步时会被静默过滤。
- 原生模块兼容:含 native 代码的插件要求目标机 Node.js 版本匹配 VSCode 内置版本,否则无法加载。
- 代码片段遗漏:snippets/ 文件夹不在 Settings Sync 默认同步范围,需手动备份。
- SSH 配置丢失:Remote-SSH 的 host keys 和 config 映射需单独迁移系统 ~/.ssh 目录。
常见问题
为什么装了插件另一台电脑没同步过来?
Settings Sync 不是实时双向监听,需手动触发 Sync Now 或重启 VSCode 后等待增量同步。
扩展安装卡住或静默失败怎么办?
网络不通时会卡在等待状态,建议加 timeout 控制单个安装时长,或关闭 extensions.autoCheckUpdates。
快捷键配置能靠插件列表同步吗?
不能,插件列表导出命令不涉及快捷键,唯一可靠来源是 keybindings.json 文件。
参考来源
- VS Code 配置、插件和设置如何完整迁移到新电脑?
- VSCode 如何离线迁移所有的插件和个人快捷键配置到另一台新电脑
- VSCode 如何在多台电脑间迁移配置_VSCode 多台电脑间迁移配置技巧
- 如何导出 VSCode 配置?重装系统迁移方案【方案】
- VSCode 怎么同步插件和配置到新电脑 VSCode 利用 GitHub 账号云端备份极速恢复技巧
- 怎么将 VSCode 的设置同步到其他电脑_VSCode Settings Sync 云同步配置方法
- VSCode 插件搬家指南:如何一键迁移所有插件到新电脑 (Windows/Mac/Linux 通用)
- 内网情况下的 VScode 拓展插件迁移
- 【小技巧】同步 VSCode 设置及扩展插件,换机不用愁!