Settings Sync 默认不同步插件,需手动开启“Toggle Extension Sync”并执行“Sync: Upload”才能上传extensions.json;否则新设备下载后仅恢复设置,无插件安装。

Settings Sync 不能自动备份插件列表,必须手动开启并定期上传,否则新设备下载时插件不会装上。
Sync: Upload 不执行,插件列表就永远不会同步
Settings Sync 默认只同步 settings.json、keybindings.json 和代码片段,插件(extensions)是关闭状态的。你装了 50 个插件,但没进高级设置里打开插件同步,另一台电脑执行 Sync: Download 后,VSCode 只会恢复设置,一个插件都不会装。
- 打开命令面板(
Ctrl+Shift+P/Cmd+Shift+P),输入并运行Sync: Advanced Options - 选择
Toggle Extension Sync,确认启用(状态变为enabled) - 再运行
Sync: Upload—— 此时extensions.json才会写入你的 GitHub Gist - 如果之前传过但没开扩展同步,Gist 里压根没有
extensions字段,新设备拉下来自然空空如也
“Synced” 图标不等于插件已安装
左下角显示 Synced,只代表本次上传/下载动作完成,不代表插件已就绪。VSCode 下载完配置后,会后台静默安装插件,但这个过程:
- 不弹窗、不提示进度、不报错(即使网络失败或插件市场不可用)
- 可在命令面板运行
Sync: Show Output查看日志,搜Installing extension或Extension sync disabled - Ubuntu 或 Windows WSL 下常见卡在 “Getting extensions list”,大概率是系统代理没透传给 VSCode,需提前设好
https_proxy - 插件安装失败时,
extensions.json仍算同步成功,但实际缺失 —— 要靠人工核对已安装列表
python.defaultInterpreterPath 这类路径配置不能跨平台直接同步
你在 Windows 上配了 python.defaultInterpreterPath: "C:\Python39\python.exe",同步到 macOS 或 Ubuntu 后,VSCode 会照搬这个值,然后 Python 插件直接罢工 —— 它不会自动纠错,也不会跳过。
- 方案一:在
settings.json中对该字段加注释// @sync false,Sync 插件会跳过它 - 方案二:把这类路径配置移到工作区级(即项目根目录
.vscode/settings.json),因为 Settings Sync 本来就不同步工作区配置 - 方案三:留空
python.defaultInterpreterPath,靠每次打开项目时手动选解释器,反而更稳 - 注意:
sync.ignore是 Settings Sync 插件的配置项,不是 VSCode 原生 setting,要写在全局settings.json里才生效
真正麻烦的从来不是“怎么传过去”,而是“传过去之后哪些东西会悄悄失效”。路径、代理、本地存储路径(globalStorage)、工作区设置 —— 这些都不会同步,也不该同步;而你最容易忽略的,是每次改完插件或设置后,那个必须手动点一下的 Sync: Upload。











