VSCode 1.74+ 已彻底移除 GitHub 同步支持,failed to sign in with github 是因 sync.gist 或 sync.provider 非空强制降级至失效路径;需清空二者、关闭再开启同步,仅剩 Microsoft 登录选项;扩展须为 Location: Sync 才同步;UI State 必须手动启用,否则主题、布局等不生效。

VSCode 1.74+ 版本已彻底移除 GitHub 账号同步支持,failed to sign in with github 不是授权失败,而是路径已失效——你根本连不到 GitHub 同步后端。
sync.provider 和 sync.gist 配置残留会强制降级到 GitHub 模式
旧版 VSCode(≤1.73)用 sync.provider 控制服务源,sync.gist 存储 Gist ID。新版仍读取这两个配置项,一旦非空,就会跳过 Microsoft 登录流程,直接尝试调用已下线的 GitHub API,结果必然是空白页或重定向循环。
- 打开设置搜索
sync.gist,若值不为空,清空并保存 - 再搜
sync.provider,同样清空 - 命令面板运行
Settings Sync: Turn Off,再运行Settings Sync: Turn On—— 这次只会出现 Microsoft 登录选项
Extensions 同步失败不是因为没登录,而是 Location 类型不对
插件列表能显示,不代表它参与同步。VSCode 把扩展按安装来源分三类:Sync、User、Workspace。只有 Location: Sync 的才受同步控制;手动用 code --install-extension 或拖拽安装的,默认是 User,不会上传,也不会覆盖。
- 命令面板运行
Developer: Show Running Extensions - 检查每行的
Location列:只有标为Sync的才算真正同步成功 - 若某插件是
User类型,需在已同步设备上重新安装(用 Extensions 视图点装,或Extensions: Install Extension from VSIX…)
UI State 是独立开关,不开就等于没同步主题和布局
workbench.colorTheme 写进 settings.json ≠ 主题会同步。VSCode 把 UI 状态(主题、侧边栏折叠、活动编辑器顺序、终端展开状态等)打包成单独的同步项,叫 UI State,它和 settings.json 完全解耦,且默认关闭。
- 开启同步时,必须手动勾选
UI State—— 它不在 settings.json 里,也不随其他项自动启用 - 即使同步了
"workbench.colorTheme": "One Dark Pro",目标设备没装该主题,VSCode 会静默 fallback 到Default Dark+,看起来像“同步失败” - 确认是否启用:设置里搜
sync ui state,确保sync.uiState为true
最常被忽略的是 UI State 开关和 Location: Sync 标识——它们不报错、不提示,只静默失效。别只盯着登录框,先查配置项、再查扩展位置、最后核对 UI State。


















