vscode 官方已于2022年底弃用旧版github gist同步,现仅支持microsoft账户驱动的新版settings sync;需vscode≥1.74、启用remote development扩展,登录ms账号后自动同步扩展、设置等,无需github token。

Settings Sync 已停用,别再找 GitHub Token 配置它了
VSCode 官方在 2022 年底已正式弃用 Settings Sync(原生云同步功能),并将其整合进 Microsoft 账户驱动的「Settings Sync」新机制。旧版基于 GitHub Gist 的同步方式(需手动生成 Personal Access Token)从 VSCode 1.74 起默认关闭,继续尝试会遇到 Sync is disabled 或 Failed to sign in: Bad credentials 错误。
现在唯一受支持的路径是:登录 Microsoft 账户 → 启用设置同步 → 自动同步扩展、键绑定、设置、UI 状态等。不依赖 GitHub、不需要 Token、也不再生成 Gist。
如何启用新版 Settings Sync(Microsoft 账户方式)
新版同步无需插件,但必须满足两个前提:VSCode 版本 ≥ 1.74,且已安装并启用官方 Remote Development 扩展包(它隐式依赖账户服务)。
- 点击左下角齿轮图标 →
Turn on Settings Sync... - 选择要同步的内容类型(推荐全选,尤其勾上
Extensions和Settings) - 用 Microsoft 账户登录(
outlook.com/hotmail.com/live.com账号均可,不能用 GitHub 账号直登) - 登录后自动开始同步;可在状态栏右下角看到
Sync: On提示
同步失败常见原因:Network error(企业防火墙拦截 vscode-sync.trafficmanager.net)、账户未通过双重验证(部分组织账号受限)、或本地 settings.json 存在语法错误导致解析失败。
为什么你的扩展没同步?检查这几个关键点
扩展同步不是“装完就同步”,它依赖明确的安装来源和账户上下文。以下情况会导致扩展不出现:
- 通过
Install from VSIX...手动安装的扩展(.vsix 文件)不会同步 - 使用
code --install-extension命令行安装,但未在登录账户状态下执行,可能被标记为“本地安装” - 扩展被设为“仅工作区启用”(
"extensions.ignoreRecommendations": true或禁用了推荐) - 目标机器已安装同名但不同版本/发布者的扩展(例如
ms-python.pythonvsms-toolsai.jupyter冲突)
验证方法:打开命令面板(Ctrl+Shift+P),运行 Developer: Show Running Extensions,查看每个扩展的 Activation 状态和 Location(应为 Sync 而非 User 或 Workspace)。
自定义同步范围:绕过敏感配置的实用技巧
默认同步会把 settings.json 全量上传,但像 "http.proxy"、"git.path"、"terminal.integrated.env.linux" 这类环境强相关项,跨设备时反而容易出问题。
VSCode 不提供“按 key 排除”界面选项,但支持两种规避方式:
- 在用户设置中显式覆盖:在目标机器的
settings.json里写"http.proxy": null,它会屏蔽同步来的值 - 改用
argv.json注入:把机器特有配置(如代理路径)放在$HOME/.vscode-oss/argv.json(Linux/macOS)或%APPDATA%\Code\argv.json(Windows),该文件不参与同步 - 敏感 token 类配置(如
"github-token")务必用keytar或系统密钥库管理,不要硬编码进 settings
同步不是无脑复制,而是以 Microsoft 账户为枢纽的“策略性协同”。真正麻烦的从来不是开关开不开,而是哪些该让步、哪些必须本地化 —— 尤其当你在公司网络、WSL、远程容器之间频繁切换时。











