卸载插件后配置残留因vscode ui仅删除扩展文件夹而不清理settings.json中的配置项;需手动搜索并删除全局及工作区中对应插件id或关键字的配置,同时清理废弃扩展文件夹并关闭settings sync以防云端恢复。

旧版插件删了,但 settings.json 里还留着它的配置项,重装同名插件时会直接继承甚至报错——这才是最常被忽略的“残留”。
为什么卸载插件后配置还在?
VSCode 的 UI 卸载只删 .vscode/extensions/ 下对应文件夹,但完全不碰 %APPDATA%\Code\User\settings.json(Windows)或 ~/Library/Application Support/Code/User/settings.json(macOS)。像 esbenp.prettier-vscode 这类插件,卸载后 "prettier.*" 配置仍留在全局设置里,新装时会强制启用、格式化规则冲突、甚至让语言服务器启动失败。
- 插件配置项写入位置:全局
settings.json、工作区.vscode/settings.json、甚至keybindings.json或snippets/目录 - 插件 ID 不等于文件夹名:比如
ms-python.python插件可能生成python.defaultInterpreter配置,但卸载后这个键不会自动消失 - 多版本共存时更危险:旧版插件写入的配置字段,新版可能已弃用,导致 VSCode 启动时报黄线警告或静默失效
如何精准定位并删除插件残留配置?
别手动翻 settings.json ——容易漏、易误删。优先用 VSCode 内置搜索 + 手动验证:
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
- 打开命令面板(
Ctrl+Shift+P),输入Preferences: Open Settings (JSON),打开全局settings.json - 按
Ctrl+F搜索插件 ID(如hediet.vscode-drawio)或典型关键字(如drawio、prettier、python) - 逐条检查匹配行:确认该配置确实属于已卸载插件(比如
"editor.formatOnSave": true是通用配置,不能删;但"prettier.requireConfig": true就是 Prettier 专属) - 对工作区配置也做同样操作:打开项目根目录,显示隐藏文件,检查
.vscode/settings.json是否含残留项
批量清理旧插件缓存与扩展文件夹
光删配置不够,.vscode/extensions/ 下可能还躺着带年份或 -old 后缀的废弃文件夹,它们不被 UI 管理,但占空间、拖慢启动速度。
- Windows 用户可直接在 PowerShell 中运行(确保已退出所有
Code.exe):Get-ChildItem "$env:USERPROFILE\.vscode\extensions" | Where-Object {$_.Name -match '-old$|-backup$|202[0-2]\.'} | Remove-Item -Recurse -Force - macOS/Linux 用户终端执行:
find ~/.vscode/extensions -maxdepth 1 -name '*202[0-2].*' -o -name '*-old' -o -name '*-backup' | xargs rm -rf
- 注意:不要用
rm -rf ~/.vscode/extensions/*全删,当前启用的插件文件夹(如ms-python.python-2026.1.1)含最新年份,会被误杀
删完记得关掉同步功能再重装
如果你开了 VSCode Settings Sync(通过 GitHub 或 Microsoft 账户),即使本地清空了所有配置,重装登录后还是会从云端拉回旧设置——包括那些插件残留项。
- 重装前,在旧环境里先禁用同步:命令面板 →
Preferences: Turn Off Settings Sync - 或者临时登出账户,再彻底删除本地数据
- 同步关闭后再执行前述清理步骤,否则等于白干
真正麻烦的不是删文件,而是配置项和同步机制的隐蔽性——它们不会报错,只是让新插件行为异常、启动变慢、格式化结果不对。动手前先关进程、关同步,比事后调试省三倍时间。










