vscode 1.84起已移除官方settings sync功能,推荐用github gist+settings sync扩展替代;需配置personal access token,同步settings.json等文件但不自动安装插件,本地路径类配置须用环境变量避免硬编码。

Settings Sync 在 VSCode 里已经停用了
VSCode 官方从 1.84 版本起彻底移除了内置的 Settings Sync 功能,不再支持通过 Microsoft 账户同步设置、插件和键位。你现在在设置里搜 sync,看到的只是残留 UI 或第三方扩展入口——它本身已失效。
用 GitHub Gist + Settings Sync 扩展替代(最接近原生体验)
目前最稳定、被广泛验证的方案是安装社区维护的 Settings Sync 扩展(作者 Shan Khan),它用你的 GitHub 账户把配置存到一个私有 Gist 里。注意:这不是 VSCode 官方功能,但兼容性好、更新勤快。
- 必须先在 GitHub 创建一个 Personal Access Token(权限只需勾选
gist) - 安装扩展后按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),运行Sync: Upload首次上传 - 插件列表、
settings.json、keybindings.json、snippets默认都会同步,但extensions只同步「已安装插件的 ID 列表」,不会自动安装——新机器上需手动触发Sync: Download后再点Install Extensions - 别把敏感信息(如 API key、本地路径密码)写进
settings.json再上传;Gist 是私有的,但不是加密保险箱
同步失败常见报错和对应解法
上传/下载卡住、报错 Cannot read property 'forEach' of undefined 或 401 Unauthorized,基本都指向这几个点:
-
401 Unauthorized→ GitHub Token 过期或没给gist权限,重生成 Token 并在 VSCode 里用Sync: Update Auth Token替换 - 下载后插件没装上 → 确认你执行了
Sync: Download后,**紧接着执行**Sync: Install Extensions(这是两步操作,扩展不会自动连动) - 某些插件配置不生效(比如 Prettier 路径、Python 解释器路径)→ 这些是「机器本地强相关」配置,
settings.json里应改用变量如${env:HOME}或${env:USERPROFILE},避免硬编码绝对路径
如果你用的是企业环境或禁用 GitHub
无法用 Gist 的话,就别绕弯子折腾同步扩展了。直接用 Git 管理 $HOME/.vscode(Linux/macOS)或 %APPDATA%\Code\User(Windows)下的核心文件:
- 重点关注:
settings.json、keybindings.json、snippets/目录、extensions/下的extensions.json(记录插件 ID 列表) - 用脚本自动导出插件列表:
code --list-extensions > extensions.txt,再用code --install-extension批量重装 - 注意
extensions/文件夹本身不要直接同步——二进制插件体积大、跨平台不兼容,只同步 ID 列表更可靠
真正的难点从来不在“怎么传上去”,而在于哪些配置该同步、哪些必须留本地。比如终端 shell 路径、调试器路径、自定义任务脚本,一同步就容易在另一台机器上挂掉。











