VSCode Settings Sync 已切换为 Microsoft 账户强制认证模式,需满足:①版本 ≥1.84;②使用 Microsoft 账户登录;③通过命令面板手动启用;同步仅支持 Settings、Keybindings、Extensions、UI State、Snippets 五类固定内容,不支持自定义路径或项目级 .vscode 文件。

VSCode 官方已不再维护 Settings Sync(基于 GitHub Gist),默认关闭该功能;你现在必须使用 Microsoft 账户登录并启用 Settings Sync,否则同步会失败或停留在“Signing in…”状态。
启用 Settings Sync 前必须完成的三件事
很多人卡在“点不动同步开关”或“登录后无反应”,本质是没满足前置条件:
- VSCode 版本 ≥ 1.84(旧版即使登录也无法激活新同步后端)
- 必须用 Microsoft 账户(
Outlook.com、Hotmail.com或企业 Azure AD 账户)登录,GitHub 账户无效 - 首次启用需手动触发:按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Preferences: Turn On Settings Sync...并回车
同步内容可选但不可自定义路径
新版同步不支持勾选“只同步 keybindings.json”或“跳过 extensions”——它只有 5 个固定类别,且全部开关共用同一组配置:
-
Settings(settings.json全量,含工作区设置例外) -
Keybindings(keybindings.json,跨平台自动适配 Ctrl/Cmd) -
Extensions(仅同步已安装扩展的 ID 列表,不下载二进制文件) -
UI State(侧边栏展开状态、编辑器布局等视觉状态) -
Snippets(用户自定义代码片段,不含全局 snippets 目录路径)
注意:tasks.json、launch.json、项目级 .vscode/ 文件默认不同步,这是设计行为,不是 bug。
常见失败现象与对应检查点
同步图标显示 Sync is paused 或反复弹出登录框,大概率是以下其一:
- 网络访问
vscode-sync.trafficmanager.net被拦截(国内常见,需确认代理或防火墙放行) - 账户登录的是个人 Microsoft 账户,但设备加入的是公司 Azure AD 租户(此时需在设置中切换账户上下文)
- 某台设备上手动修改过
sync.autoSync为false,且未通过命令面板重置(执行Preferences: Configure Sync...可重新打开开关) - 扩展冲突:极少数扩展(如某些主题或状态栏增强工具)会劫持同步状态栏图标,卸载后重启即可恢复
同步不是实时的——它依赖编辑器空闲时触发,且每次只上传变更差量。如果你刚改完 settings.json 就切到另一台设备,可能要等 10–30 秒才生效。别狂点“Sync Now”,那只是强制触发一次,不会加速传输本身。










