直接使用VS Code 1.84+内置Settings Sync:按Ctrl+Shift+P运行Preferences: Turn On Settings Sync,选GitHub登录(勿选Microsoft),勾选Settings、Keybindings、Extensions、Snippets、UI State五项;新设备需依次执行Sync: Download和Sync: Install Extensions,路径类配置须改用${env:HOME}等变量,敏感信息勿写入settings.json。

直接用 VS Code 内置的 Settings Sync(1.84+ 版本起已原生集成),不需要额外装插件,也不需要手动管理 Gist 或 Token——旧版第三方 Settings Sync 扩展(如 shanalikhan.settings-sync)已过时且不兼容当前机制。
怎么开启 Settings Sync 并选对同步项
按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入并运行 Preferences: Turn On Settings Sync。选择 GitHub 登录(别选 Microsoft,它会过滤掉部分敏感字段,比如 git.postCommitCommand 或自定义终端环境变量)。授权后务必勾选这五项:
-
Settings(用户级settings.json) -
Keybindings(keybindings.json) -
Extensions(已安装插件 ID 列表) -
Snippets(代码片段) -
UI State(侧边栏展开状态、终端是否默认打开等)
漏掉 Extensions 或 UI State,新设备上看着像 VS Code,实际用起来总缺一口气。
为什么新机器上插件没自动装好
Settings Sync 只同步插件 ID 列表,不自动执行安装。你必须在新设备上完成两步操作:
- 先运行
Sync: Download(拉取远程配置) - 再立刻运行
Sync: Install Extensions(这是独立命令,不会连动)
如果跳过第二步,extensions.json 里有记录,但插件列表仍是空的。VS Code 不会提示你“该装插件了”,它默认你清楚这个分离逻辑。
哪些配置容易同步失败或失效
硬编码本地路径的设置,在另一台机器上必然出问题。比如:
"prettier.prettierPath": "/Users/you/.nvm/versions/node/v18.18.2/lib/node_modules/prettier""python.defaultInterpreterPath": "/home/you/.pyenv/versions/3.11.9/bin/python"
这类值必须改用环境变量形式:${env:HOME} 或 ${env:USERPROFILE}。否则同步过去后,Prettier 报错找不到二进制,Python 扩展根本无法启动解释器。
另外,settings.json 里别塞 API key、SSH 密钥路径、本地数据库密码——Gist 是私有的,但不是加密保险箱;Token 泄露或 gist 被误设为 public 就全暴露了。
同步卡住或报 401 Unauthorized 怎么办
90% 是 GitHub Token 权限不对或已过期。检查点就三个:
- Token 必须勾选
gist权限(仅此一项,其他全不勾) - Token 是否被 GitHub 主动撤销(比如你重置过密码、启用了 2FA 后没更新 token)
- 是否在企业网络下被拦截——某些公司防火墙会屏蔽 gist.github.com 域名
解决方法:去 GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic),生成新 Token,然后在 VS Code 里运行 Sync: Update Auth Token 替换旧的。别试图手动改配置文件,Token 存在 VS Code 内部凭据系统里,改 settings.json 没用。
最常被忽略的其实是「UI State」和「Extensions」的两步分离操作,以及路径类配置的变量化改造——这两处不处理,同步看起来成功了,实际开发体验断层严重。


















