VSCode官方同步功能已于2023年底弃用,现需通过GitHub账号+Settings Sync扩展(作者Shan Khan)实现手动同步;安装后运行Sync: Login授权gist等权限,插件自动创建cloudSettings私有Gist,但插件同步、路径配置等均需手动开启或处理,且无自动监听,必须手动上传下载。

VSCode 官方 Settings Sync 已于 2023 年底弃用,现在必须用 Settings Sync 扩展(作者 Shan Khan)配合 GitHub 实现同步——不手动上传下载,另一台设备永远看不到你的插件和快捷键。
怎么装、登录并生成 Gist
安装扩展后重启 VSCode,按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入并运行 Sync: Login。跳转到 GitHub 授权页时,必须勾选三项权限:gist、user:email、read:user。授权成功后,插件会自动创建一个名为 cloudSettings 的私有 Gist,并把 extensions.json、keybindings.json 等写入其中。
如果企业网络拦截 gist.github.com,可临时切手机热点;也可手动配置 Token:进 GitHub → Settings → Developer settings → Personal access tokens → Generate new token,勾选 gist 权限,复制后在 VSCode 设置中填入 settingsSync.token。
为什么插件没同步过来?检查这三个开关
Settings Sync 默认关闭插件同步,即使你登录了、上传了,extensions.json 也不会动。必须手动开启:
- 运行
Sync: Advanced Options→Toggle Extension Sync(确保状态为 enabled) - 首次运行
Sync: Upload Settings前,确认弹窗里选的是Merge而非Replace——后者会清空本地已装插件 - 上传完成后,新设备运行
Sync: Download Settings,但注意:它只下载列表,不自动安装;需点扩展视图右上角刷新按钮,或等 VSCode 弹出Extensions to install横幅后点Install
哪些配置会被静默跳过?不报错也不提示
VSCode 同步机制会过滤含机器依赖或敏感信息的字段,且完全不警告:
-
python.defaultInterpreterPath、terminal.integrated.profiles.windows、http.proxy这类绝对路径或平台专属配置直接被忽略 -
telemetry.enableTelemetry、security.workspace.trust.untrustedFolders等隐私/安全类设置默认不同步 - 想显式排除某行?在
settings.json中该配置项上方加注释:// @sync false - 工作区级配置(
.vscode/settings.json)天然不同步,这是设计行为,不是 bug
每次改完设置都得手动上传,没有后台监听
同步不是实时的,也没有“自动保存即同步”这回事:
- 改了
keybindings.json、装了新插件、更新了代码片段后,必须手动运行Sync: Upload Settings - 另一台设备不会收到推送,必须手动运行
Sync: Download Settings才能拉取变更 - 状态栏显示
Synced只代表上一次动作完成,不代表当前配置与远端一致 - 冲突处理是覆盖式:两台设备先后上传,后上传的会完全覆盖先上传的,无合并逻辑
最常被忽略的一点:sync.gist 配置项如果被手动设为非空值(比如误填了旧 Gist ID),会导致后续所有上传失败,且控制台不报错——删掉该配置项,让插件自动生成新 ID 才能恢复。


















