vscode插件体积压缩实为清理本地残留:卸载不删旧版本及缓存,需手动清除extensions中-old/-backup目录、cache/cacheddata/gpucache,并确保vscode完全退出后执行脚本。

VSCode 插件市场本身不提供插件体积压缩功能,所谓“压缩插件体积”,实际是指**减少本地已安装插件的磁盘占用**——因为插件解压后体积通常是 .vsix 安装包的 2~3 倍,且旧版本、缓存、备份目录长期残留。
为什么删了插件,extensions 文件夹还是几百 MB
卸载插件只删除 extensions 下对应目录名(如 ms-python.python),但不会清理:
- 插件解压后的完整
node_modules、预编译二进制、语言服务器可执行文件(比如cpptools的Microsoft.VSCode.CPP.Extension.linux) - 旧版本残留:如
ms-python.python-2021.9.1191016588、ms-vscode.cpptools-1.14.0-backup -
-old或-backup后缀目录,VSCode 从不自动清除
Windows/macOS/Linux 清理 extensions 的正确路径
别在资源管理器里瞎点,先确认路径再动手:
- Windows:
%APPDATA%\Code\Extensions(不是%LOCALAPPDATA%或Code - Insiders) - macOS:
~/.vscode/extensions(注意是~/.vscode,不是~/Library/Application Support/Code) - Linux:
~/.vscode/extensions
用命令快速定位大户(Linux/macOS):du -sh ~/.vscode/extensions/* | sort -hr | head -10
Cache 和 CachedData 比 extensions 还吃空间
这两处常超 5GB,但删除后 VSCode 启动时会按需重建,不影响功能:
- Windows:
%APPDATA%\Code\Cache、%APPDATA%\Code\CachedData、%APPDATA%\Code\GPUCache - macOS:
~/Library/Caches/com.microsoft.VSCode(比 Application Support 下的缓存还大) - Linux:
~/.cache/Code(不是~/.config/Code)
必须关掉所有 Code.exe 或 Code Helper 进程再删,否则部分文件被占用,PowerShell 报 “Access is denied”。
一行 PowerShell 批量清理最占空间的几类缓存
在普通用户权限下运行即可,无需管理员:
Remove-Item -Path "$env:APPDATA\Code\Cache\*" -Recurse -Force
Remove-Item -Path "$env:APPDATA\Code\GPUCache\*" -Recurse -Force
Remove-Item -Path "$env:APPDATA\Code\CachedData\*" -Recurse -Force
Get-ChildItem "$env:USERPROFILE\.vscode\extensions" | Where-Object {$_.Name -match '-old$|-backup$|202[0-2]\.'} | Remove-Item -Recurse -Force
最后一行用正则筛出明显过时的插件目录(覆盖 2020–2022 年老版本),避免误删当前启用的插件(它们通常含 2023 或更高年份)。
真正容易被忽略的是:插件体积膨胀从来不是“装得太多”的问题,而是“删得不干净”+“缓存没清”+“旧版本堆着不管”。手动删目录不如脚本精准,而脚本又必须在 VSCode 完全退出后运行——这个时间点,恰恰是多数人以为“已经清理完了”的时候。











