不能用“设置→打开设置(JSON)”导出,因其仅显示UI渲染快照,会丢失注释、格式、禁用项及插件写入的默认值;真实路径为Windows:%APPDATA%\Code\User\settings.json,macOS:~/Library/Application Support/Code/User/settings.json,Linux:~/.config/Code/User/settings.json。

直接复制 settings.json 文件是最可靠的方式,但必须从系统级用户目录中获取,不能靠 UI 里“打开设置 (JSON)”后手动复制内容。
为什么不能用“设置 → 打开设置 (JSON)”来导出
那个界面显示的是 UI 渲染后的快照,不是真实配置文件。它会丢掉注释、格式缩进、显式设为 false 的禁用项(比如 "editor.minimap.enabled": false 在 UI 里根本不会出现),而且不包含你没改过但被插件写入的默认值。导出后覆盖到新机器,大概率行为不一致或部分设置失效。
怎么找到真实的 settings.json 路径
它不在 VSCode 安装目录里,硬翻 Program Files 或 Applications/Visual Studio Code.app 会扑空。必须去系统级用户配置目录:
- Windows:
%APPDATA%\Code\User\settings.json(文件资源管理器地址栏直接粘贴即可) - macOS:
~/Library/Application Support/Code/User/settings.json(终端执行open ~/Library/Application\ Support/Code/User快速打开) - Linux:
~/.config/Code/User/settings.json
导出前必须清理的三类危险字段
不清理就直接拷贝过去,VSCode 启动时要么静默忽略整行,要么报错回退到默认值。重点处理:
-
绝对路径类:如
"python.defaultInterpreterPath"、"files.exclude"、"search.exclude"中含C:\Users\、/home/、/Users/等 -
平台专属类:如
"terminal.integrated.profiles.windows"、"terminal.integrated.fontFamily"(macOS/Linux 下可能阻断加载) -
插件强依赖类:如
"prettier.bracketSpacing"、"todo-tree.tree.showScanModeButton"—— 新机器没装对应插件时,VSCode 直接跳过该行,可能导致颜色、折叠、快捷键链断裂
建议在 VSCode 里用 Ctrl+F 全局搜索 ": " 后跟引号,快速定位并删掉或加 // 注释。
别漏掉 keybindings.json 和 snippets/
只导出 settings.json 是常见错误。如果你改过快捷键(比如重映射 Ctrl+P 行为),keybindings.json 就必须一起导出;自定义代码片段也全存在 snippets/ 目录下,它是个文件夹,得整个拷出来。这些文件都在和 settings.json 同一目录(User/ 下),漏一个,恢复后就少一块功能。
真正麻烦的不是找文件,而是清理路径和插件字段——很多人导出后导入不生效,问题就卡在这一步,而且 VSCode 不报错,只是默默跳过,很难排查。


















