vs code 1.84+ 内置 settings sync 不支持 gitee,仅对接 github;gitee 同步必须使用第三方 code settings sync 插件,需手动配置 gitee gist id 和 access token,且与内置同步机制互斥,混用将导致静默失败或配置丢失。

VS Code 1.84+ 内置 Settings Sync 不支持 Gitee
直接结论:不能用。Settings Sync v2 是微软官方机制,只对接 GitHub,底层不读取 settings.json 中的 gitee.gist 或 gitee.access_token 字段,也不接受任何 Gitee 授权流程。哪怕你在 settings.json 里硬写进去,它也完全无视——既不会报错,也不会上传,只会静默跳过。
常见错误现象:Gist not found、SyncServiceError、同步按钮灰掉、命令面板搜不到 Settings Sync: Upload —— 这些基本都说明你误用了内置 sync 去连 Gitee。
- 登录 Microsoft 账户也能开同步,但 Gist 权限不可控,容易卡在 token 缺失环节
- 即使你用 GitHub 登录,同步内容仍受白名单限制:
files.exclude中含绝对路径的条目会被跳过;terminal.integrated.env.*类字段可能被静默丢弃 - 同步是单向“最终一致”:改完本地配置不会自动上传,必须手动触发
Settings Sync: Upload
code settings sync 插件才是 Gitee 同步的唯一可行路径
这个插件(作者 Shan Khan)目前仍是活跃维护状态,专为国内网络环境优化,支持 Gitee 私有代码片段存储,所有配置走 settings.json 手动注入,和内置 sync 完全隔离——二者共存会互相覆盖或静默失败。
关键操作点:
- Gist ID 获取:Gitee → 个人主页 → 点
+→ “发布代码片段”,任意填内容后发布,URL 最后一串字符就是gitee.gist值(如mu5ylteq83ofhd1sj4bw664) - Access Token 生成:Gitee 设置 → 私人令牌 → 勾选
gists和必选的user_info→ 复制保存(仅展示一次!) - 配置方式二选一:
– 设置界面搜set gitee gist,填入 token 和 gist
– 或直接编辑settings.json,加两行:"gitee.gist": "mu5ylteq83ofhd1sj4bw664""gitee.access_token": "ghp_xxx"(注意英文逗号结尾)
upload setting / download setting 实际行为与陷阱
命令名看着像一键同步,但实际逻辑很“刚”:上传时覆盖整个 Gist 内容;下载时直接写死本地 settings.json、重装扩展、还原 snippets,不保留你当前未提交的修改。
常见失败原因不是网络,而是权限或路径:
- token 权限漏勾
gists→ 上传报403 Forbidden,输出窗口显示Failed to upload settings - Gist ID 复制错位(多一个空格、少一位字符)→ 下载时提示
Gist not found,但不会告诉你哪错了 - Windows/Linux 快捷键是
Shift+Alt+U/Shift+Alt+D;Mac 用户得手动绑定,系统默认的Cmd+Shift+U不生效 - 首次上传可能只生成
syncGitee.lock文件,再执行一次upload setting才真正上传完整配置
多设备同步时最易忽略的细节
新设备下载配置前,必须先确保 code settings sync 插件已安装并重启 VS Code;否则 download setting 命令根本不会出现在命令面板里。
更隐蔽的问题是操作系统差异:插件会按平台分别上传快捷键配置(比如 keybindings.json),但如果你在 Windows 机器上上传,又在 Mac 上下载,部分 keybinding 可能失效或冲突——这不是 bug,是设计如此,得靠 giteeSync.excludedSettings 手动排除跨平台项。
另外,giteeSync.excludedExtensions 支持 glob 模式(如 "nonoroazoro.syncing"),但填错格式会导致整个同步流程静默中断,建议先用最小配置验证通路再逐步加排除规则。











