应删除 extensions 目录下带 -cache 后缀的损坏插件文件夹,清理 CachedData、workspaceStorage 和 globalStorage 中对应插件的持久化缓存与状态数据,并手动清除 settings.json 中残留配置项,最后彻底退出并重启 VSCode。

删 extensions 目录下带 -cache 后缀的文件夹
VSCode 插件更新中断或校验失败时,会在 ~/.vscode/extensions/(Windows 是 %USERPROFILE%\.vscode\extensions)里留下形如 ms-python.python-2024.12.0-cache 的损坏包。这些不是临时文件,而是插件解压中途卡住的残骸,会干扰后续语言服务器启动。
只删带 -cache 后缀的子目录,保留同名主目录(如 ms-python.python-2024.12.0);误删主目录会导致插件彻底丢失。
- Windows PowerShell 一键清理:
Get-ChildItem "$env:USERPROFILE\.vscode\extensions" | Where-Object {$_.Name -match '-cache$'} | Remove-Item -Recurse -Force - macOS/Linux 终端:
find ~/.vscode/extensions -maxdepth 1 -name '*-cache' -type d -exec rm -rf {} + - 别靠文件夹名猜 ID——右键插件 →「Copy Extension ID」,再用该 ID 精准搜索
清 CachedData 和 workspaceStorage 中插件运行时快照
CachedData 存的是插件预编译产物和语言服务器二进制缓存(比如 rust-analyzer 的 snapshot),workspaceStorage 里则按项目 GUID 存着符号索引、断点映射等状态。它们不占大空间,但一旦损坏,就会反复触发“正在激活”卡死或跳转失效。
这两个目录必须在 VSCode 完全退出后清理,否则部分文件被进程锁住,删了也不释放空间。
- Windows 路径:
%APPDATA%\Code\CachedData、%APPDATA%\Code\User\workspaceStorage - macOS 路径:
~/Library/Application Support/Code/CachedData、~/Library/Application Support/Code/WorkspaceStorage - Linux 路径:
~/.config/Code/CachedData、~/.config/Code/WorkspaceStorage - 删
workspaceStorage时按「修改日期」排序,找和你最近关闭的项目时间接近的 GUID 子目录——名字看不出项目,全靠时间判断
别漏 globalStorage 里的插件私有数据
很多插件(如 github.copilot、ms-python.python)把 API 密钥、历史对话、模型缓存等存在 globalStorage,路径独立于插件本体。卸载重装后它还在,导致新装插件直接“继承”旧状态甚至冲突。
这个目录不像 Cache 那样重启自动重建,里面的数据是持久化的,必须手动按插件 ID 清理。
- Windows:
%APPDATA%\Code\User\globalStorage - macOS:
~/Library/Application Support/Code/User/globalStorage - Linux:
~/.config/Code/User/globalStorage - 进入后用
ls -la或文件管理器搜索插件 ID(如github.copilot),找到对应子目录整删 - 删完不重启 VSCode,这些数据仍可能被内存中残留的 extension host 持有,务必关干净再操作
settings.json 里残留配置项必须手动删
插件卸载后,settings.json 中的配置项(如 "prettier.requireConfig"、"python.defaultInterpreter")不会自动清除。重装同名插件时会被直接继承,容易因版本差异引发格式化崩溃或解释器路径错误。
不能只搜关键词,得看缩进和逗号位置——比如 "editor.codeActionsOnSave" 下的子字段可能单独成行,漏删一行就可能让保存时自动格式化失效。
- 打开命令面板 →
Preferences: Open Settings (JSON) - 搜索插件 ID 或常见前缀(如
python.、prettier.、editor.codeActionsOnSave) - 整块删除:从
"key": value开始,到下一个同级键前的逗号为止,注意 JSON 语法有效性 - 保存后必须重启 VSCode,设置才真正生效
globalStorage 和 workspaceStorage 里那些看不见、删不干净、又不自动过期的私有状态。


















