VSCode内置Settings Sync默认自动创建并管理私有Gist,无需手动指定地址;它使用GitHub账户授权,加密存储settings.json等配置于名为vscode-sync的secret gist中,仅可通过API或“Show Synced Data”查看ID。
VSCode 内置的 Settings Sync 功能默认就用 GitHub 私密 Gist 存储配置,不需要手动指定 Gist 地址——它自动创建、自动管理,你看到的“同步到 GitHub Gist”本质就是这个机制在运行。
Settings Sync 默认走 GitHub Gist,但不是你手动创建的那个
新版 VSCode(≥1.65)启用
并选择 GitHub 登录后,VSCode 会自动调用 GitHub API 创建一个名为
的私有 Gist(不是 public,也不是你手动建的任意 gist),所有同步内容(
、
、
等)都加密后存进去。你无法、也不应手动指定或替换这个 Gist ID。
这个 Gist 不会在你的 GitHub 主页公开显示,仅对 VSCode 客户端可见
它不支持改名、迁移到其他仓库,也不能用
拉取
如果你在 GitHub 上手动创建了 gist 并想“绑定过去”,VSCode 不提供该入口;强行覆盖会导致同步失败或 404
为什么你搜不到自己同步的 Gist?
VSCode 创建的同步 Gist 是「secret gist」,不会出现在你的 GitHub Gist 列表页(
),只能通过 GitHub API 或 VSCode 自身状态栏里的「Sync: Show Synced Data」查看元信息。
打开命令面板,执行
,能看到 Gist ID(一串十六进制字符串)和最后更新时间
把这个 ID 拼到
可直接访问——但需已登录且拥有对应 token 权限,否则 404
别试图在浏览器里搜索这个 ID:GitHub 搜索不索引 secret gist
同步失败常见卡点:token 权限、网络、设置忽略项
绝大多数“没同步成功”问题跟 Gist 地址无关,而是权限或配置被静默跳过:
GitHub Copilot
GitHub AI编程工具,实时编程建议
下载
:GitHub Personal Access Token 过期,或没勾选
权限(注意:不是
,也不是
)
扩展没装上:检查
是否为
(默认是,但可能被手动关掉)
某些行没生效:VSCode 同步会跳过含敏感字段的 key,比如
、
、
(因含本地路径或机器标识)
企业网络拦截:GitHub OAuth 流程或 gist API 被防火墙屏蔽,此时内置同步会卡在“正在连接…”
想完全掌控 Gist 地址?用 Settings Sync 插件(Shan Khan 版)
只有
插件允许你上传到指定 gist(包括你手动创建的),但它不是 VSCode 内置功能,且需自行生成带
权限的 PAT:
安装插件后执行
,首次会弹出 GitHub 授权页 → 你必须手动去
创建 classic token,并只勾选
插件不会帮你创建 gist,而是把配置写入你已有或新生成的 gist —— 此时你才能看到并管理那个 gist URL
风险提示:插件同步不加密,所有内容明文存在 gist 中;
里若写了
或
,等于直接暴露
真正需要“知道 Gist 地址”的场景极少,多数时候只是误以为要手动管理;VSCode 内置同步的设计哲学是“你不用管存储在哪,只要账号一致就能还原”,而手动干预地址反而容易触发权限、冲突或泄露问题。
Settings Sync: Turn Onvscode-syncsettings.jsonkeybindings.jsonextensions.jsongit clonehttps://gist.github.com/your-usernameSettings Sync: Show Synced Datahttps://gist.github.com/401 UnauthorizedgistrepousersyncExtensionstruesettings.jsontelemetry.enableTelemetryhttp.proxyworkbench.colorCustomizationsshanalikhan.settings-syncgistSync: Upload Settingshttps://github.com/settings/tokensgistsettings.jsonssh.keyPathdatabase.password