Settings Sync 没同步插件是因为它只同步扩展 ID 列表,不传输二进制文件;新设备需手动触发安装,且平台不兼容、上传失败、权限不足、ID 下架或误选 Replace 模式均会导致插件未安装。

Settings Sync 为什么没同步插件?
Settings Sync 同步的是扩展 ID 列表,不是插件二进制文件本身。新设备首次下载配置后,VSCode 会自动调用 code --install-extension 安装每个 ID 对应的扩展,但以下情况会导致“列表同步了、插件没装”:
- 目标平台不支持该扩展(例如 Windows-only 的终端增强插件在 macOS 上被跳过)
- 原设备未完成上传:左下角没出现
Last synced时间戳,说明上传失败或中断 - 新设备误选
Download and replace而非Download and merge,导致跳过安装步骤 - 扩展 ID 在 Marketplace 中已下架或重命名,
code --install-extension返回Extension '<id>' not found</id>
GitHub Token 权限不够导致 Settings Sync 扩展上传失败
如果你用的是第三方扩展(如 Settings Sync by Shan Khan),它依赖 GitHub Gist 存储配置,而 Gist 写入需要明确的 gist 权限。仅勾选 repo 或 user 权限会失败,错误现象是执行 Sync: Upload Settings 后控制台报 Failed to create gist: 403 Forbidden。
- 必须前往
GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token - Token 名称任意,但权限只勾选
gist—— 其他全不选 - 生成后立即复制保存,页面刷新即不可见;粘贴进 VSCode 提示框时注意不要带空格或换行
- 若已生成过旧 Token,可直接在 Gist 页面检查是否已有对应配置:访问
https://gist.github.com/<your-username></your-username>,找最新更新的私有 Gist
settings.json 中哪些字段根本不会被 Settings Sync 同步?
VSCode 主动过滤掉含敏感信息或平台强依赖的设置项,不是“你写了就传”,而是“它认为安全且可泛化才传”。常见被跳过的字段包括:
-
http.proxy、telemetry.enableTelemetry等涉及隐私或合规的配置 - 含绝对路径的值,如
prettier.configPath: "/Users/me/project/.prettierrc"、files.associations: { "*.foo": "file:///absolute/path/to/syntax.json" } - 所有以
sync.开头的设置(如sync.autoDownload),因为它们控制同步行为本身 - JSON 注释(
//或/* */)会导致整个settings.json解析失败,同步中断并报Unexpected end of JSON input
验证方法:打开开发者工具(Developer: Toggle Developer Tools),看 Console 是否有红色同步错误。
手动导出 extensions 列表后怎么批量重装?
当 Settings Sync 不可用(比如公司网络拦截 vscode-sync.trafficmanager.net),命令行导出 + 重装是最稳的兜底方案,且支持跨平台脚本部署。
- 导出:终端中运行
code --list-extensions > vscode-extensions.txt,生成纯文本 ID 列表 - 重装(macOS/Linux):
cat vscode-extensions.txt | xargs -I {} code --install-extension {} - 重装(Windows PowerShell):
Get-Content vscode-extensions.txt | ForEach-Object { code --install-extension $_ } - 注意:如果某扩展安装失败(如网络超时),
code --install-extension默认不中断后续,但不会重试;可加--force参数覆盖已存在版本
真正容易被忽略的是:code 命令必须已加入系统 PATH——macOS 上需在 VSCode 中执行 Shell Command: Install 'code' command in PATH,Windows 上要确认 VSCode 安装时勾选了“Add to PATH”。


















