直接复制原始settings.json文件是最准的导出方式;需从系统路径获取(windows:%appdata%\code\user\,macos:~/library/application support/code/user/,linux:~/.config/code/user/),并清理绝对路径、平台专属及插件强依赖字段,同时备份keybindings.json和snippets/目录。

直接复制 settings.json 文件是最准的导出方式
VSCode 没有“导出全部全局设置”按钮,所谓“导出设置”菜单项(右上角⋯→导出设置)只是个 UI 假象,它不包含注释、会丢掉显式设为默认值的项(比如 "editor.minimap.enabled": false),也不保证格式合法。真正有效的做法是直接获取并备份原始 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
导出前必须删掉或注释这三类字段
直接拷贝原 settings.json 到另一台机器,大概率静默失效——VSCode 启动时解析失败,就自动回退到默认配置,连错误提示都不给。
-
"python.defaultInterpreterPath"、"python.condaPath":指向本机 Python 解释器路径,换环境后必然 404 -
"files.exclude"或"search.exclude"中含C:\Users\、/home/、/Users/这类绝对路径:跨系统根本无法解析 -
"terminal.integrated.profiles.windows"、"terminal.integrated.fontFamily"等平台专属配置:在非 Windows 系统下可能触发警告甚至阻断加载
建议在 VSCode 编辑器里用 Ctrl+F 全局搜索 ": " 后跟路径特征(如 C:、/home/、profiles.),整行删掉或加 // 注释。保留通用项如 "editor.fontSize"、"workbench.colorTheme" 即可。
别漏掉 keybindings.json 和 snippets/ 目录
只导出 settings.json 是常见错误。你自定义的快捷键(比如改了 Ctrl+P 行为)存在 keybindings.json 里;Emmet、Vue、Python 等代码片段存在 snippets/ 文件夹中。这两个东西不导,迁移后等于重头开始配。
-
keybindings.json默认为空,只有你改过快捷键才会生成,路径同settings.json所在目录 -
snippets/是一个目录,不是单个文件,必须整个拷出来(如python.json、javascript.json) - 注意权限:Linux/macOS 下若用
sudo备份,导入时可能因属主问题导致 VSCode 拒绝读取
导入后不生效?先检查这三件事
覆盖完文件 ≠ 配置立刻生效。VSCode 启动时会校验 JSON 格式、合并设置、甚至被插件抢写,稍有不慎就白忙。
- 目标机器 VSCode 必须完全退出:Windows 查任务管理器,macOS 查活动监视器,确认没有残留的
Code Helper进程 - 别用记事本、TextEdit 直接“另存为”覆盖:它们可能加 BOM 头或强制用
\r\n换行,VSCode 解析失败后静默回退 - VSCode 1.86+ 引入了
profiles根对象,全量覆盖会删掉该字段,导致 Profile 无法识别。正确做法是先在目标机重置 Profile(设置 → Profiles → 选中目标 Profile → Reset Profile to Default),再覆盖settings.json
最麻烦的其实是插件强依赖字段——比如 "prettier.bracketSpacing",新机器没装 Prettier 插件时,VSCode 直接跳过这一行,但你可能根本意识不到它没生效。











