VSCode 设置同步需登录 Microsoft 或 GitHub 账户后通过命令面板启用,成功后状态栏显示 Synced 图标;同步内容包括用户级设置、扩展列表等,不包含工作区设置、敏感凭证及设备相关路径;冲突时以最后同步时间为准覆盖,无历史版本回溯。

VSCode 的设置同步功能默认可用,但需要登录 Microsoft 或 GitHub 账户才能启用——不登录就看不到同步开关,也存不了配置。
如何开启同步并确认已生效
打开命令面板(Ctrl+Shift+P 或 Cmd+Shift+P),输入并执行 Preferences: Turn on Settings Sync。首次运行会弹出账户选择,选 Microsoft 或 GitHub 登录即可。
成功后右下角状态栏会出现同步图标 Synced,鼠标悬停显示最后同步时间;也可通过 Preferences: Show Settings Sync Status 查看详细状态。
- 如果点击开启后无反应,大概率是网络被拦截(尤其国内环境),可尝试开启代理或换用 GitHub 账户
- 同步开关在设置里不可手动勾选,必须走命令面板触发
- 登录后不会自动同步旧设置,需手动执行一次
Preferences: Sync Now
哪些内容会被同步,哪些不会
同步范围由 VSCode 内置策略控制,包括:settings.json、已安装扩展列表、键盘快捷键、用户代码片段、UI 布局(如侧边栏展开状态)、已启用/禁用的扩展状态。
以下内容不会同步:
-
keybindings.json中自定义的快捷键(除非你把它写进settings.json的keybindings数组) - 扩展的本地配置(比如 Python 扩展的
python.defaultInterpreterPath是设备相关路径,同步时会被跳过) - 工作区设置(
.vscode/settings.json)和文件夹级设置,只同步用户级设置 - 敏感凭证(如 SSH 密钥、登录 Token)从不上传
同步冲突时怎么处理
当两台设备修改了同一项设置(例如都改了 editor.fontSize),VSCode 会以“最后同步时间”为准覆盖对方,不提供合并或提示。
如果你发现设置被意外覆盖,可以:
- 立即执行
Preferences: Show Settings Sync Status→ 点击「Show Synced Data」查看云端最新值来源 - 用
Preferences: Open Settings (JSON)手动还原本地值,再执行Preferences: Sync Now强制上传 - 临时关闭同步(
Preferences: Turn off Settings Sync),改完再开,避免反复覆盖
注意:同步数据存储在云端,但 VSCode 不提供历史版本回溯,删错没法撤回。
多账户或离线设备的常见问题
你不能同时用 Microsoft 和 GitHub 账户同步同一台设备;切换账户前必须先关闭同步,否则报错 Cannot switch accounts while sync is enabled。
离线设备能正常编辑和使用扩展,但:
- 开机后首次启动若未联网,同步图标显示
Paused,等联网后自动续传 - 若长期离线(如开发机无外网),建议定期手动执行
Preferences: Sync Now避免积压过多变更 - 企业环境若部署了 Azure AD,可能受组织策略限制——即使登录成功,同步开关仍灰显,需联系 IT 管理员确认策略
同步不是实时双向监听,它只在你主动操作、VSCode 启动/退出或每小时静默检查时触发,别指望改一行设置立刻推到另一台电脑。










