直接清空settings.json为{}是最快最安全的恢复方式;若无效则需重命名user目录备份后重启,同时务必先关闭settings sync,否则云端配置会自动覆盖重置结果。

直接清空 settings.json 为 {} 是最快、最安全的恢复方式;扩展本身不会丢,但插件相关的配置项(比如 prettier.requireConfig)若写错或引用了未安装插件,就会静默失效——你看到的“扩展不工作”,大概率是配置在拖后腿。
为什么改了扩展配置后它突然不生效?
VSCode 不会报错,而是跳过整个 settings.json 文件:多一个逗号、少一个引号、用了 // 注释、或者写了已卸载插件的配置项(如 "eslint.enable": true 但 ESLint 扩展没装),都会导致所有用户设置失效。此时你看到的其实是纯默认行为,误以为“扩展坏了”。
- 打开命令面板(
Ctrl+Shift+P或Cmd+Shift+P),执行Preferences: Open Settings (JSON) - 把全部内容删光,只留
{},保存(Ctrl+S) - **必须彻底退出 VSCode**(macOS 查 Activity Monitor 确认无
Code Helper进程,Windows 任务管理器看Code.exe) - 再启动,如果扩展功能恢复,就坐实是配置问题
只想还原某几个扩展的配置,别碰整个文件
硬改 settings.json 容易漏逗号、引号错位,尤其嵌套字段(如 editor.codeActionsOnSave)。正确做法是用设置界面的「Reset Setting」:
- 按
Ctrl+,打开图形化设置页,在搜索框输入@modified,立刻筛选出所有被改过的项 - 找到对应扩展的配置(如
emeraldwalk.runonsave或esbenp.prettier-vscode相关字段) - 鼠标悬停在该行开头,点齿轮图标 ⚙️ → 选
Reset Setting - 对
editor.fontFamily这类嵌套项,重置会递归清理子字段,比手动删更干净
重命名 User 目录才是终极兜底方案
如果清空 settings.json 后仍异常(快捷键失灵、侧边栏消失、Timeline 不显示),问题可能出在 keybindings.json、snippets/ 或插件自己的缓存文件里。这时候单动 settings.json 已经不够:
- 完全退出 VSCode
- 定位到
User目录:
— Windows:%APPDATA%\Code\User\
— macOS:~/Library/Application Support/Code/User/
— Linux:~/.config/Code/User/ - **不要直接删除**,先重命名为
User_backup(留个后路) - 重启 VSCode,它会自动生成全新
User目录和空的settings.json - 注意:已安装扩展还在,但快捷键、代码片段、登录状态全没了——这是正常现象
真正容易被忽略的是 Settings Sync:如果你开着同步,删完 User 目录重启后,几秒内所有旧配置(包括你忘了的、别人共享的、过期的)会自动从云端拉回来。务必先左下角齿轮 → Settings Sync: Turn Off → 点 Turn Off and Reset Local State,再操作。否则所有努力都白费。











