vs code 1.84+ 内置 settings sync v2 仅支持 github,需 github 登录授权,不兼容 gitee;第三方 settings sync 插件支持 gitee,但须手动配置 token 和 gist id,且与内置同步机制互斥,混用将导致上传失败、配置丢失或权限错误。

VS Code 1.84+ 内置的 Settings Sync(v2)只支持 GitHub 账户,不支持 Gitee;若想同步到 Gitee,必须使用第三方插件,且需手动配置 token 和 gist ID。两者底层机制完全不同,混用会导致上传失败、配置丢失或权限报错。
Settings Sync v2(内置,仅限 GitHub)
这是 VS Code 官方自 1.84 起启用的同步机制,不是插件,不依赖 settings.json 里的旧字段(如 sync.gist),也不读取你手动写的 token。
- 必须用 GitHub 登录:命令面板输入
Preferences: Turn On Settings Sync→ 选 GitHub → 授权后勾选要同步的项(Settings、Extensions、Keybindings等) - 同步内容受白名单限制:
files.exclude中含绝对路径的条目(如"/home/user/project/node_modules")会被跳过;terminal.integrated.env.*类敏感字段在 Microsoft 账户下可能被静默丢弃 - 登录 Microsoft 账户也能开启同步,但 Gist 权限不可控——控制台若出现
Gist not found或SyncServiceError,基本可判定 token 缺失或权限不足 - 同步是单向“最终一致”:本地改了不会自动上传,需手动触发
Settings Sync: Upload;设备间冲突时会弹出对比界面,不点“Accept Incoming”就不会覆盖本地
Settings Sync 插件(支持 GitHub + Gitee)
这个老牌插件(作者 Shan Khan)仍活跃维护,支持 Gitee,但所有配置都走 settings.json 手动写入,和内置 sync 完全隔离——二者不能共存,否则会互相覆盖或静默失败。
- GitHub 方式:安装插件后,用
Settings Sync: Login with GitHub获取 token;首次Upload Settings会自动创建名为cloudSettings的私有 Gist - Gitee 方式:需提前在 Gitee 创建 Gist(填任意内容即可),拿到 ID(URL 最后一串字符),再在
settings.json加两行:"gitee.gist": "mu5ylteq83ofhd1sj4bw664""gitee.access_token": "ghp_xxx..."(token 必须勾选gists和user_info) - 快捷键上传/下载:默认
Shift+Alt+U(上传)、Shift+Alt+D(下载),Windows/Linux 有效;Mac 需换Option - 插件会覆盖本地配置:下载时直接写入
settings.json、重装扩展、还原 snippets,不保留你当前未提交的修改
常见失败原因与验证方式
同步失败往往卡在权限或路径上,而不是网络。
- GitHub 同步失败:打开开发者工具(
Developer: Toggle Developer Tools),看 Console 是否有Gist not found——说明 token 没给gist权限;或Failed to fetch——检查 GitHub 账户是否已退出、是否在组织 SSO 强制策略下 - Gitee 同步失败:确保
gitee.access_token是新生成的,且只勾了gists和user_info;Gitee 的 token 不支持 scope 细分,勾多或勾少都会 401 - 扩展没同步:确认插件名拼写完全一致(如
esbenp.prettier-vscode),且未被settingsSync.ignoredExtensions列表排除 - Mac / Windows 快捷键不同:
keybindings.json里带mac或win的键位规则,插件会按系统自动拆分上传,但内置 sync 不做此处理,跨平台时可能缺失
真正麻烦的不是上传动作本身,而是路径字段、环境变量、终端 shell 配置这些“看似通用实则本地绑定”的设置——它们要么被同步机制主动过滤,要么同步过去后在另一台机器上直接报错。动手前先打开 settings.json,把 terminal.*、files.autoGuessEncoding、带绝对路径的 search.exclude 这类项手动注释掉,比事后调试快得多。











