VSCode插件更新后旧版本文件夹残留是设计如此,非bug;需手动清理同ID旧版文件夹、settings.json废弃配置及Cache/WorkspaceStorage缓存,仅保留最新修改时间的一个版本以确保安全。

VSCode插件更新后旧版本文件夹还在?不是bug,是设计如此
VSCode 从不自动删除已更新插件的旧版本文件夹。你看到的 ms-python.python-2026.1.1 和 ms-python.python-2026.2.0 并存,是正常现象——新版本启用后,旧版仍完整保留在 %USERPROFILE%\.vscode\extensions(Windows)或 ~/.vscode/extensions(macOS/Linux)中,不会被覆盖或清理。
这导致磁盘空间持续增长,尤其 Python、Copilot、Prettier 这类含二进制语言服务器的插件,单个旧版常占 400–800 MB。
- UI 上点「Update」只下载解压新版,不删旧版
-
code --uninstall-extension命令对旧版本无效,它只操作当前启用的插件 - 文件夹名里的版本号(如
-2026.2.0)是唯一可靠识别依据,别信“最新修改时间”——有些插件会定期写缓存,让旧文件夹时间戳变新
怎么安全删掉旧版插件文件夹,不误伤当前运行版
关键不是“全删”,而是“精准保留一个最新版 + 当前启用版”。但 VSCode 不暴露当前启用版对应的物理路径,所以最稳妥策略是:只留最新修改时间的那个版本文件夹,其余同 ID 的全删。
- 先退出所有 VS Code 进程(任务管理器里确认没有
Code.exe或Code Helper) - 打开终端,进插件目录:
cd %USERPROFILE%\.vscode\extensions(Windows)或cd ~/.vscode/extensions(macOS/Linux) - 按插件 ID 批量筛选并删旧版(示例删所有 Prettier 旧版):
Windows(PowerShell):Get-ChildItem | Where-Object {$_.Name -match 'esbenp.prettier-vscode-[0-9]+'} | Sort-Object LastWriteTime -Descending | Select-Object -Skip 1 | Remove-Item -Recurse -Force
macOS/Linux:find . -maxdepth 1 -name "esbenp.prettier-vscode-[0-9]*" | sort -Vr | tail -n +2 | xargs rm -rf - 执行前建议先
ls或Get-ChildItem看一眼匹配结果,避免正则过宽误删其他插件
settings.json 里残留的旧版配置会干扰新装插件
插件更新 ≠ 配置升级。旧版插件写入的设置项(如 "prettier.bracketSameLine": true)会一直留在 %APPDATA%\Code\User\settings.json 里,新装同名插件时直接继承,而该字段可能已在新版中废弃,引发格式化失败或语言服务器崩溃。
- 打开命令面板(
Ctrl+Shift+P),运行Preferences: Open Settings (JSON) - 搜索插件 ID(如
esbenp.prettier-vscode)或典型前缀(如prettier.、python.defaultInterpreter) - 逐条检查:若整块配置在当前插件文档中已无说明,或 VS Code 报黄线警告「Unknown configuration setting」,就删掉整行(注意逗号和缩进)
- 工作区级配置也要查:
.vscode/settings.json同样可能残留旧字段
为什么清理完还是卡?Cache 和 workspaceStorage 没动
插件旧版文件夹只是“看得见”的大头,真正影响启动速度和激活逻辑的是缓存目录里的快照数据。这些目录不随插件更新/卸载自动刷新,语言服务器会反复加载过期的 CachedData 或错误的 workspaceStorage 状态。
- 必须清空以下路径(确保 VS Code 已完全退出):
Windows:%APPDATA%\Code\Cache、%APPDATA%\Code\CachedData、%APPDATA%\Code\User\workspaceStorage
macOS:~/Library/Caches/com.microsoft.VSCode、~/Library/Application Support/Code/CachedData、~/Library/Application Support/Code/WorkspaceStorage
Linux:~/.cache/Code、~/.config/Code/CachedData、~/.config/Code/WorkspaceStorage - 别用资源管理器手动删大量小文件——PowerShell(
Remove-Item -Path "$env:APPDATA\Code\Cache\*" -Recurse -Force)或终端(rm -rf ~/.cache/Code/*)更稳 - 删完重启 VS Code,首次启动会重建缓存,稍慢属正常;若仍卡在「正在激活」,说明某插件的
workspaceStorage子目录损坏,可针对性删对应项目哈希文件夹


















