VSCode 配置导出与重装系统迁移方案详解

在重装系统之前,如果没有提前备份 VSCode 配置,重装后往往需要从头配置一切——逐个安装扩展、重新调整代码风格,遗漏几个设置也是常有的事。为了避免这种麻烦,最好事先做好准备。其实备份过程并不复杂,核心只需导出两个关键部分:settings.json 配置文件以及已安装扩展的清单。
具体操作步骤如下:
- 打开命令面板(快捷键
Ctrl+Shift+P或Cmd+Shift+P),执行Preferences: Open Settings (JSON)命令,将全部 JSON 内容复制并保存为settings.json文件 - 在终端中运行
code --list-extensions > extensions.txt,即可生成扩展列表 - 若自定义过快捷键或代码片段,则需同时备份
keybindings.json文件和snippets/目录,具体存储路径后文详述
除了知道需要备份哪些文件,还必须清楚它们的默认存储位置。仅依赖 VSCode 界面导出的设置往往不够全面,部分关键文件需要手动定位。不同操作系统的路径如下:
- Windows:
%APPDATA%\Code\User(其中包含settings.json、keybindings.json、snippets/等文件) - macOS:
$HOME/Library/Application Support/Code/User/ - Linux:
$HOME/.config/Code/User/
值得注意的是,keybindings.json 文件默认不存在,仅当用户修改过快捷键后才会生成;snippets/ 是一个文件夹,需要整体复制,通过命令面板导出无法获取。
重装系统后一键恢复扩展与配置
仅有备份文件还不够,必须让它们在新系统中生效。扩展无法通过拖拽 extensions.txt 文件自动安装,必须借助命令行批量处理。
步骤如下:
- 首先确认新系统已安装 VSCode 并登录了 Microsoft 账户。虽然开启同步功能后部分设置可能自动拉取,但手动覆盖才是最可靠的方式
- 在终端中根据操作系统执行相应命令:macOS/Linux 使用
cat extensions.txt | xargs -I {} code --install-extension {};Windows 使用for /f %i in (extensions.txt) do code --install-extension %i - 将备份的
settings.json、keybindings.json文件直接覆盖到对应User/目录,重新启动 VSCode 即可生效
需要提醒的是,扩展安装过程不会显示失败提示,因此建议安装完成后打开扩展视图,搜索 @installed,核对已安装扩展的数量是否一致。部分扩展(例如依赖特定平台二进制的)可能无法跨系统安装,需要单独处理。
Settings Sync 同步 ≠ 配置完整迁移
VSCode 内置的 Settings Sync 同步功能虽然方便,但默认并不会同步以下内容:
- 自定义代码片段(
snippets/中的 JSON 文件) - 本地任务配置(
.vscode/tasks.json,属于工作区级别,不会同步) - 插件的本地存储数据(比如 GitLens 的历史缓存、TODO Tree 的索引)
- 某些扩展的私有配置(例如 Remote - SSH 的 ssh-config 路径映射)
这些内容均需手动备份和恢复。尤其是 snippets/ 文件夹,既不在同步范围,也不包含在 settings.json 中,一旦丢失,就必须重新编写所有常用模板,非常繁琐。为确保万无一失,建议按照上述手动操作方式进行完整迁移。
