Settings Sync扩展必须手动启用插件同步,因syncExtensions默认关闭;需通过命令面板运行Sync: Advanced Options→Toggle Extension Sync开启,否则新设备收不到插件列表,且已上传Gist不会自动补插件信息,须重新上传。

Settings Sync 扩展必须手动启用插件同步
插件不会自动同步,即使你已登录 GitHub 并上传过配置。syncExtensions 默认是关闭的,不手动打开,另一台设备永远收不到插件列表。打开命令面板(Ctrl+Shift+P 或 Cmd+Shift+P),运行 Sync: Advanced Options → Toggle Extension Sync,确保状态变成 Enabled。
常见错误现象:新设备上 Settings Sync 显示“同步完成”,但扩展面板里一个插件都没装——大概率就是这个开关没开。
- 该设置只影响后续上传/下载行为,已上传的 Gist 不会自动补上插件信息,需重新运行
Sync: Upload Settings -
syncLocalSettings同样默认关闭,若想同步本地路径相关配置(如python.defaultInterpreter的变量写法),也得单独开启 - 上传后可在 GitHub Gist 页面确认
extensions.json是否存在且内容非空
首次下载时选 Merge 还是 Replace?
弹出提示时选错会直接清空或遗漏插件。Replace 会卸载所有本地插件,再按云端列表重装;Merge 是安全选项:保留已装插件,仅追加云端有而本地没有的插件。
使用场景:换新电脑、重装系统 → 选 Replace;日常在公司/家里两台设备间同步 → 选 Merge,避免误删调试用的临时插件。
- 选
Replace后,如果某插件安装卡在Installing…状态,不是同步失败,而是 VSCode 没触发实际安装——点扩展面板右上角刷新按钮即可 -
Merge不会覆盖本地已禁用的插件状态,但也不会恢复被你手动卸载的插件 - 这个选择只影响本次操作,下次下载仍会再次弹窗,无法设为默认
GitHub Token 权限必须仅勾选 gist
Settings Sync 扩展依赖 GitHub Personal Access Token 访问私有 Gist,但 token 权限过大或过小都会失败。必须进入 GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic),生成新 token 时**只勾选 gist**。
权限错误的典型表现:Sync: Download Settings 执行后无反应、控制台报 404 Not Found 或 403 Forbidden;Gist 页面显示 “You don’t have permission to view this gist”。
- 勾选
repo或user等其他权限不仅没必要,还可能触发 GitHub 安全策略导致 token 失效 - token 值一旦生成,就只能复制一次,丢失后需删除旧 token 并新建——Settings Sync 扩展里无法查看已存 token
- token 存储在 VSCode 的
settings.json中,字段名为sync.gistToken,明文可见,注意不要提交到公开仓库
同步后插件没启动?检查 Location 字段
插件同步只管“装没装”,不管“启没启”。打开 Developer: Show Running Extensions,看目标插件的 Location 列是否为 Sync。如果是 Local 或空白,说明它没走同步流程,而是从本地缓存或上次残留加载的。
容易被忽略的点:某些插件(如 ms-python.python)在同步后需要手动启用,尤其当它依赖的 Python 解释器路径未正确同步时(比如 python.defaultInterpreter 含绝对路径,会被静默过滤)。
- 确认
settings.json中该路径已改用变量写法:"${env:HOME}/.pyenv/versions/3.11/bin/python" - 部分插件的自定义配置(如
prettier.prettierPath)是否同步,取决于插件作者是否在package.json中声明了sync: true - 敏感字段如
http.proxy、git.path默认被排除,需显式添加"sync.ignoredSettings": []才能同步


















