vscode settings sync 仅支持 microsoft 账户,需 ≥1.74 版本且必须启用 remote development 扩展;扩展同步取决于 location 字段(sync 才生效),敏感设置默认被忽略,冲突应通过 sync: show conflicts 处理而非重置。

VSCode 的 Settings Sync 功能目前只支持 Microsoft 账户,GitHub 同步方式已在 2022 年底彻底停用,且 VSCode ≥1.74 才能使用——如果你还在找 GitHub Token 或看到 Sync is disabled 错误,说明你正踩在过期路径上。
Settings Sync 为什么登录后没反应?检查 Remote Development 扩展是否启用
新版 Settings Sync 不是纯 UI 功能,它底层依赖 VS Code 的账户服务,而该服务由 Remote Development 扩展包隐式提供。即使你不用远程开发,也必须安装并启用它:
- 打开扩展视图(
Ctrl+Shift+X),搜索Remote Development,确保状态为“已启用” - 如果禁用或未安装,同步开关会灰掉,或点击后无响应、状态栏卡在
Signing in... - 某些企业镜像版 VS Code 可能默认移除了该扩展,需手动从 marketplace 安装
- 重启 VS Code 后再试,不要跳过这一步——这是 2026 年最常被忽略的前置条件
同步后扩展没装上?看 Developer: Show Running Extensions 的 Location 字段
扩展是否真正参与同步,不取决于“是否勾选了 Extensions”,而取决于它的安装上下文和来源:
- 运行
Developer: Show Running Extensions,查看每个扩展的Location列:只有显示Sync的才来自云端;User表示本地手动安装,Workspace表示仅当前项目启用 - 通过
code --install-extension命令安装的扩展,若执行时未登录账户,会被标记为User,不会同步 - .vsix 手动安装的扩展永远不进同步流,哪怕你勾了 Extensions 也没用
- 冲突常见于同名不同发布者(如
ms-python.pythonvsms-toolsai.jupyter),VS Code 不会自动覆盖,而是跳过同步
敏感设置(如代理、API key)为什么没同步?别改 sync.ignoredSettings
VS Code 默认过滤含凭证、路径、网络配置等字段,不是 bug,是安全策略:
- 被跳过的项包括:
http.proxy、telemetry.enableTelemetry、workbench.startupEditor、所有以http:///https://开头的值 - 试图通过在
settings.json中加"sync.ignoredSettings": []来强制同步,不仅无效,还可能触发解析失败导致整个同步中断 - 真正需要跨设备复用的代理配置,建议用系统级代理或企业 PAC 文件,而非写死在 VS Code 设置里
- 工作区设置(
.vscode/settings.json)天然不参与同步——这是设计使然,不是遗漏
多设备间设置打架?Sync: Show Conflicts 比重置更安全
两台设备同时改了 editor.fontSize,VS Code 不会合并,也不会提示“冲突”,而是静默以最后上传者为准。但你可以主动干预:
- 运行
Sync: Show Conflicts,它会列出所有存在差异的设置项、扩展状态、快捷键绑定 - 对每一项可单独选择
Accept Incoming(用云端值)或Accept Current(保留本地值) - 避免直接运行
Sync: Reset Sync Data,它会清空云端全部状态,其他设备下次同步时会丢失所有历史配置 - 特别注意
extensions.json冲突:某设备卸载扩展后同步,另一台可能反复尝试重装又失败,建议主力设备保持“权威源”角色
同步不是一键复制粘贴,它是带上下文、有边界、受扩展支持程度制约的协作机制。最容易被忽略的是:Remote Development 扩展必须启用,以及扩展的 Location 字段才是真实同步依据——其余都是表象。











