VSCode 用户设置导出应复制 settings.json、keybindings.json 和 snippets/ 目录,并用 code --list-extensions 导出插件列表;备份需结构化打包,注意禁用 Settings Sync 并区分 Workspace 设置。

导出 VSCode 用户设置(settings.json)
VSCode 的用户级配置全存在 settings.json 里,直接复制它最可靠,比通过 UI 导出更完整(UI 导出只含“已修改项”,而 JSON 包含所有显式设置)。路径取决于系统:
- Windows:
%APPDATA%\Code\User\settings.json - macOS:
$HOME/Library/Application Support/Code/User/settings.json - Linux:
$HOME/.config/Code/User/settings.json
注意:不要只复制整个 User 文件夹——里面还有 keybindings.json、snippets/ 等,它们也属于“自定义设置”,建议一并备份。尤其 keybindings.json 容易被忽略,但改过快捷键的人必须带上它。
导出已安装插件列表(extensions list)
用命令行导出插件名列表最准,避免手动整理遗漏或拼错:
code --list-extensions > code-extensions.txt
这条命令输出的是纯插件 ID(如 ms-python.python),不是中文名,正好适合后续重装时批量安装。如果没装 CLI 工具(即运行 code 报“command not found”),先在 VSCode 里按 Cmd/Ctrl+Shift+P → 输入 Shell Command: Install 'code' command in PATH → 回车启用。
补充说明:
-
--list-extensions只列已启用插件;加--show-versions可附带版本号(如ms-python.python@2024.6.0),对版本敏感项目有用 - 禁用的插件不会出现在列表里,若需完整记录,得手动查
extensions/目录(路径类似~/.vscode/extensions/),但一般备份启用状态就够了
把设置 + 插件打包成可复用的备份
真正能“一键恢复”的备份,不是零散文件,而是结构清晰的压缩包。推荐这样组织:
- 根目录叫
vscode-backup-20240615(含日期) - 子目录
user-config/:放settings.json、keybindings.json、snippets/全部内容 - 文件
extensions.txt:就是上面code --list-extensions输出的结果
这样下次重装,只需:
cp -r vscode-backup-*/user-config/* "$HOME/Library/Application Support/Code/User/" # macOS code --install-extension $(cat extensions.txt) # 批量装插件
注意:Windows 用户用 PowerShell 运行插件安装时,得换行处理:Get-Content extensions.txt | ForEach-Object { code --install-extension $_ }
容易被跳过的细节:同步开关和 Workspace 设置
如果你开了 VSCode 内置的 Settings Sync(登录 GitHub 账号同步),那 settings.json 里会多出一堆 sync. 开头的字段,这些字段本身不参与功能,但可能干扰手动恢复。导出前建议关掉 Sync,再删掉 settings.json 中所有 "sync.*" 行。
另外,Workspace 设置(即项目根目录下的 .vscode/settings.json)不在用户备份范围内,它是项目私有的。如果你有跨项目通用的 Workspace 配置习惯,得单独归档那些项目模板,不能指望用户级备份覆盖它。
真正麻烦的从来不是“怎么备份”,而是“哪些东西其实不属于用户设置却常被误以为该备”——比如 WSL 或 Remote-SSH 的连接配置、自定义任务脚本、或者终端 profile 配置,它们都不在 User/ 下,得另作安排。











