必须手动删除extensions目录下带版本号的旧插件文件夹、settings.json中残留配置、globalStorage和workspaceStorage中对应插件数据;VS Code卸载不清理这些,导致重装后继承错误配置、LSP崩溃或command not found报错。

点“Uninstall”根本没删文件,旧版本插件的文件夹、配置、缓存全留在磁盘上——重装同名插件时会继承错误配置,语言服务器可能反复崩溃,甚至触发 command 'xxx' not found 报错。
怎么精准定位并删除 extensions 目录下的旧版插件文件夹
VS Code 从不自动删 extensions 目录里的任何子文件夹,哪怕你卸载十次。真正插件本体是带版本号的完整文件夹,比如 ms-python.python-2024.8.0 或 esbenp.prettier-vscode-12.5.0,体积常达 300–800 MB。
- 右键扩展 →
Copy Extension ID(如ms-python.python),再进%USERPROFILE%\.vscode\extensions(Windows)、~/.vscode/extensions(macOS/Linux)搜索该 ID,匹配整个文件夹名 - 别靠文件夹名猜用途:带
-old、-backup、202[0-2]\.(如2022.3.1)或-cache后缀的,基本可直接删 - macOS 用户注意:
~/Library/Application Support/Code/Extensions/是另一套全局扩展路径,必须同步清 - 删错父目录
extensions会丢所有插件,但删单个子文件夹绝对安全
settings.json 里残留的插件配置必须手动清理
插件卸载后,settings.json 中的配置项不会消失。“prettier.requireConfig”: true、“python.defaultInterpreter” 这类字段还活着,新装同名插件时会直接继承,极易引发格式化冲突或 LSP 启动失败。
- 打开命令面板(
Ctrl+Shift+P),运行Preferences: Open Settings (JSON) - 搜索插件 ID(如
hediet.vscode-drawio)或前缀(如prettier.、python.、editor.codeActionsOnSave) - 逐行确认是否属于已卸载插件——通用配置如
"editor.formatOnSave": true不能删,但"prettier.requireConfig"可删 - 工作区级配置也得查:
.vscode/settings.json在项目根目录下,隐藏文件需手动显示
globalStorage 和 workspaceStorage 是最易被忽略的“复活源”
插件的 API 密钥、历史对话、语言服务器快照、调试会话状态,都存在 globalStorage 和 workspaceStorage 里。不清它们,重装后插件就像没卸载过一样。
-
globalStorage路径:%APPDATA%\Code\User\globalStorage(Windows)、~/Library/Application Support/Code/User/globalStorage(macOS)、~/.config/Code/User/globalStorage(Linux)→ 按插件 ID 搜索子文件夹,整夹删除 -
workspaceStorage路径:%APPDATA%\Code\User\workspaceStorage(Windows)、~/Library/Application Support/Code/WorkspaceStorage(macOS)、~/.config/Code/WorkspaceStorage(Linux)→ 按修改时间排序,删半年以上未更新的子目录 - 删之前务必确保 VS Code 已完全退出:任务管理器里没有
Code.exe、Code Helper.exe、node.exe;macOS 活动监视器里搜Code全部强制退出
真正麻烦的不是找得到哪些要删,而是删完之后没人告诉你 globalStorage 里那个叫 github.copilot 的空文件夹,其实还存着上次会话的加密上下文——它不报错,但会让 Copilot CLI 连接时延迟三秒才响应。


















