立即关闭同步并执行“turn off and reset local state”,删除云端gist及本地extensions.json,重启vscode以清除缓存快照,再手动恢复settings.json。

同步开启时 settings.json 被意外覆盖怎么办
VSCode 的 Settings Sync 一旦开启,本地 settings.json 修改后若未及时同步,或云端版本更“新”(哪怕只是时间戳晚 1 秒),重启或切设备时就可能被静默覆盖。这不是 bug,是设计逻辑:Sync 始终以云端为权威源。
常见现象包括:刚配好 Prettier 默认格式器,重启后变回 ESLint;禁用的插件又自动启用;"editor.fontSize" 回退到 12;甚至整个 settings.json 变成空对象 {}。
- 立即关闭同步:左下角用户图标 → Settings Sync: Turn Off → 选 Turn Off and Reset Local State(这步关键,否则本地残留的 sync 元数据会继续拉取旧配置)
- 确认已关:执行
code --list-extensions,输出应不含ms-vscode.sync类扩展(现代 VSCode 已内置,但第三方 sync 插件仍可能共存) - 检查是否真关了:重启 VSCode 后,左下角不再显示同步图标,且
settings.json修改保存后不会在几秒内倒退
为什么 extensions.json 和 settings.json 冲突常被忽略
很多人只盯着 settings.json,却忘了 extensions.json 也参与同步——它记录的是“哪些插件该启用”,不是“装了哪些”。当多台设备插件不一致时,这个文件会被强制对齐,导致你本地禁用的插件在重启后自动启用,进而触发功能冲突(比如两个格式化插件同时激活)。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
-
extensions.json位置和settings.json相同:%APPDATA%\Code\User\(Windows)、$HOME/Library/Application Support/Code/User/(macOS)、$HOME/.config/Code/User/(Linux) - 同步关闭后,先手动备份这两个文件,再删掉
extensions.json(避免重启时按云端列表重装一堆冲突插件) - 不要直接编辑
extensions.json来“禁用”插件——VSCode 不认这种写法,必须通过 UI 或"extensions.ignoreRecommendations": true控制推荐行为
如何判断是同步覆盖还是插件自身改写配置
有些插件(如 esbenp.prettier-vscode、dbaeumer.vscode-eslint)会在首次激活时向 settings.json 注入默认配置项,造成“刚关 sync 就又被改”的错觉。这类修改通常带明显特征:新增字段集中在 "prettier.*"、"eslint.*"、"editor.formatOnSave" 等路径,且时间点紧贴插件启用之后。
- 打开命令面板,运行
Developer: Open Extension Host Log,搜索settings.json或write,看是否有插件调用workspace.getConfiguration().update() - 临时禁用可疑插件:用
code --disable-extension esbenp.prettier-vscode启动,再检查settings.json是否还被改动 - 对比修改前后:用
git diff(如果该目录已纳入 git)或系统自带的文件历史(macOS Time Machine / Windows File History)定位谁在写
重置同步状态后仍被还原的隐藏原因
即使你执行了 Turn Off and Reset Local State,如果之前用过 GitHub/GitLab 账户登录过其他 VSCode 实例(比如公司电脑、CI 构建机),这些设备可能仍在后台推送变更。VSCode Sync 使用的是账户级全局 gist,不是设备绑定。
- 登录 https://www.php.cn/link/55360c0b34441c9aba384b54a7279ad6,搜索你的用户名,找到名为
vscode-sync或含settings字样的 gist,手动删除它(这是真正源头) - 检查是否启用了多账户:VSCode 右下角用户图标旁若显示多个头像,说明有多个账户登录,需逐个退出
- 同步关闭后,务必重启 VSCode —— 某些状态(如 extension host 缓存)不重启不会清空,会导致旧 sync 配置残留生效
最易被忽略的一点:同步关闭后,VSCode 仍会缓存最后一次拉取的云端配置快照,直到你主动重启或等待约 5 分钟自动失效。别在关掉 sync 后立刻改设置,然后等 2 秒就去验证——它大概率还没来得及丢弃旧快照。










