真正要清掉所有不用的扩展,必须手动删文件夹+清配置+清缓存三步同步做;code --uninstall-extension仅对已启用插件生效,禁用后该命令失效,需通过右键复制id精准定位extensions目录下对应文件夹删除,并清理settings.json、globalstorage及cache/gpucache等残留。

禁用不等于卸载,点“Uninstall”也不等于删干净——真正要清掉所有不用的扩展,必须手动删文件夹 + 清配置 + 清缓存三步同步做。
为什么 code --uninstall-extension 经常失效
这个命令只对当前「已启用」的插件生效。一旦你右键点了 Disable,哪怕只是临时禁用,code --uninstall-extension ms-python.python 就会报 Extension 'ms-python.python' is not installed.。它压根不认被禁用的插件,更不会管那些名字带 -old、-backup 或年份 202[0-2] 的残留文件夹。
- 先用
code --list-extensions --show-versions列出所有 ID,再逐个进 UI 点 Enable 再卸载——太绕 - 更直接的做法:关掉 VS Code,直接进磁盘删
extensions目录下的对应文件夹 - 别靠肉眼猜文件夹名,右键插件 →
Copy Extension ID(如esbenp.prettier-vscode),再在文件夹里按此 ID 搜索
怎么精准定位并删除插件物理文件夹
VS Code 从不自动删磁盘上的插件文件夹,哪怕你点了十次 Uninstall。Windows 路径是 %USERPROFILE%\.vscode\extensions,macOS 是 ~/Library/Application Support/Code/Extensions/,Linux 是 ~/.vscode/extensions/。删错父目录 extensions 会导致所有插件丢失,但删单个子文件夹是安全的。
- 打开扩展视图(
Ctrl+Shift+X),右键目标插件 →Open Extension Folder(或类似选项),直接跳转到该插件所在路径 - 找不到这个菜单?就复制 ID,在文件管理器里全局搜索,匹配整个文件夹名(注意可能含版本号,如
esbenp.prettier-vscode-12.5.0) - 批量清理旧版本:终端执行
rm -rf ~/.vscode/extensions/esbenp.prettier-vscode-*(macOS/Linux)或 PowerShell 中Get-ChildItem "$env:USERPROFILE\.vscode\extensions" | Where-Object {$_.Name -match 'esbenp.prettier-vscode-'} | Remove-Item -Recurse -Force
settings.json 和 globalStorage 里的残留必须清
插件卸载后,settings.json 里还留着 "prettier.requireConfig": true 这类配置;keybindings.json 中可能绑着 extension.prettier.format 快捷键;globalStorage 里更藏着 API 密钥、对话历史等私有数据。这些不清理,重装同名插件时会“自动复活”旧配置,甚至触发 command 'xxx' not found 报错。
- 打开命令面板 →
Preferences: Open Settings (JSON),搜索插件 ID 或关键字(如prettier、drawio),删掉整行 - 同样检查
keybindings.json和工作区级的.vscode/extensions.json - 清
globalStorage:Windows 路径为%APPDATA%\Code\User\globalStorage,macOS 为~/Library/Application Support/Code/User/globalStorage,进目录搜插件 ID 字样文件夹,直接删
缓存和临时文件不处理,启动照样卡
VS Code 卸载插件后,Cache、GPUCache、%TEMP%\vscode- 开头的临时解压包全留在原地。它们加起来可能占几个 GB,且持续干扰新插件加载逻辑。
- 关掉 VS Code 后,手动清这三处:
%APPDATA%\Code\Cache、%APPDATA%\Code\GPUCache(Windows);对应 macOS/Linux 路径同理 - 在
%TEMP%(Windows)或/tmp(macOS/Linux)中搜vscode-,删掉所有匹配的临时文件夹 - 清完重启,再开
Help → Toggle Developer Tools → Console,看有没有require is not defined或Cannot find module类错误——有则说明某处残留没扫干净
最易被忽略的是 globalStorage 和 GPUCache:它们不显现在扩展列表里,也不会在设置中暴露,但只要存在,就可能让新装插件一启动就继承旧状态或报错。清之前务必关死所有 VS Code 进程,否则部分文件被占用删不掉。











