settings sync 本身不支持局域网同步,官方仅对接 microsoft 账户后端;局域网同步失败源于误用已失效的第三方插件(如 vscode-syncing)或手动配置错误路径,唯一可靠方案是使用 vscode ≥1.74 内置 settings sync 并清空旧配置、统一登录 microsoft 账户、手动启用各同步项。

Settings Sync 本身不支持局域网同步
VSCode 官方 Settings Sync 只能对接 Microsoft 账户后端(login.microsoftonline.com),不提供任何本地网络、自建服务器或局域网直连同步能力。所谓“局域网同步配置失败”,本质是误用了非官方方案,或混淆了第三方插件行为。
常见诱因包括:
- 安装了名字含
Sync或LAN的第三方插件(如vscode-syncing、local-sync),但这些插件早已停止维护,与 VSCode ≥1.74 不兼容 - 手动修改
sync.provider为github或自定义 URL,触发降级失败路径,表现为登录空白页或failed to sign in with github - 试图用文件共享(SMB/NFS)直接复制
~/.config/Code/User/目录,但忽略extensions目录权限、machineId冲突、以及state.vscdb数据库损坏风险
vscode-syncing 插件已失效且无法修复
vscode-syncing 是一个早期社区插件,依赖 GitHub Gist API 实现同步,但 VSCode 自 1.74 起已移除对它的集成支持。它现在既不能注册同步命令(如 Syncing: Upload Settings),也无法读取新版 keybindings.json 格式。
典型失败现象:
- 命令面板搜索
Syncing,无任何匹配项 - 插件启用后,状态栏不出现同步图标,也无错误提示
- 即使配置了
syncing.gistId和syncing.token,调用上传命令仍返回Failed to load VS Code settings
根本原因:该插件的底层 API 调用路径(/gists)已被 VSCode 主进程拦截并拒绝,不是 token 权限或网络问题。
真正能跨设备同步的只有官方 Settings Sync
如果你需要多台设备间保持一致,唯一可靠路径是使用 VSCode 内置的 Settings Sync,并满足以下硬性条件:
- 所有设备运行 VSCode ≥1.74,且未残留
sync.gist或sync.provider配置(必须清空) - 全部使用同一 Microsoft 账户登录(
outlook.com/hotmail.com等),GitHub 账号无法完成 OAuth 流程 - 每台设备都手动勾选
UI State、Extensions、User Snippets、Keybindings—— 这些开关默认关闭,不点就不同步 - 插件必须显示为
Location: Sync(通过Developer: Show Running Extensions查看),User类型插件不会上传也不会覆盖
注意:Extensions 同步只传 ID,不传二进制文件;目标设备必须能访问 marketplace.visualstudio.com 才能自动安装。
局域网内想免云服务?只能手动迁移
若因安全策略完全不能联网,官方不提供替代方案。可行的手动方式仅限:
- 导出/导入用户设置:
Ctrl+Shift+P→Preferences: Export Settings生成 ZIP,再在另一台设备上Preferences: Import Settings - 复制
snippets/目录下的 JSON 文件(注意文件名不能含空格或中文,内容不能有单引号或注释) - 用
code --install-extension <id></id>命令批量重装插件(<id></id>可从已同步设备的Extensions: Show Installed Extensions中右键复制)
最易被忽略的是:导入设置 ZIP 后,必须重启 VSCode(不是重载窗口),否则 keybindings.json 和语言包激活可能不生效。











