重装vscode前需手动备份settings.json、extensions.txt、keybindings.json和snippets/目录;重装后用命令行批量安装扩展并覆盖配置文件,settings sync无法同步代码片段等关键内容。

导出 VSCode 用户设置和扩展列表
重装系统前不备份,重装后就得手动一页页点扩展、一条条改 settings.json,非常容易漏。最核心要导出两样:settings.json 和已安装扩展清单。
操作很简单:
- 打开命令面板(
Ctrl+Shift+P/Cmd+Shift+P),输入并运行Preferences: Open Settings (JSON),复制全部内容,保存为settings.json文件 - 终端里执行
code --list-extensions > extensions.txt,生成扩展列表 - 如果用了自定义快捷键或代码片段,也别忘了导出:
keybindings.json和snippets/目录(路径见下一条)
VSCode 配置文件实际存哪?别只靠 UI 导出
VSCode 的用户级配置不是全存在 UI 可见位置,有些必须手动找。不同系统路径不同,但都指向同一类数据:
- 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 账户(同步开关打开的话,部分设置会自动拉取,但不可靠,仍建议手动覆盖)
- 在终端中逐行执行:
cat extensions.txt | xargs -I {} code --install-extension {}(macOS/Linux);Windows 用for /f %i in (extensions.txt) do code --install-extension %i - 把备份的
settings.json、keybindings.json直接覆盖到对应User/目录下,重启 VSCode 即可
扩展安装过程不会报错提示失败,建议装完后打开 Extensions 视图,搜 @installed 确认数量是否一致——有些扩展(比如依赖特定平台二进制的)可能无法跨系统安装,得单独处理。
同步开关开着 ≠ 配置完整迁移
VSCode 内置的 Settings Sync 功能看似省事,但它默认不同步以下内容:
- 自定义代码片段(
snippets/中的 JSON 文件) - 本地任务配置(
.vscode/tasks.json,属于工作区级,不上传) - 插件的本地存储数据(比如
GitLens的历史缓存、TODO Tree的索引) - 某些扩展的私有配置(如
Remote - SSH的ssh-config路径映射)
这些都得手动备份还原。尤其 snippets/ 容易被忽略——它不在同步范围,也不在 settings.json 里,但一旦丢了就得重写所有常用模板。











