vscode项目加载慢主因是缓存堆积、扩展残留和工作区索引膨胀;应清理cache、cacheddata、workspacestorage三目录,禁用高负载扩展(如prettier、pylance、gitlens),并配置files.watcherexclude排除node_modules等路径。

VSCode项目加载慢,八成不是代码问题,而是缓存堆积+扩展残留+工作区索引膨胀三重卡死。直接删整个Cache目录最立竿见影,但别碰User和GlobalStorage——删了就得重配登录态、Snippets、信任工作区。
怎么快速定位并清理最占空间的缓存目录
VSCode 缓存分散在多个路径,真正吃磁盘的是三个地方:Cache(HTTP 响应、Marketplace 数据)、CachedData(语法高亮、语义 token 运行时生成物)、workspaceStorage(每个打开过的文件夹一个 GUID 目录,存搜索索引和符号缓存)。它们加起来常超 2GB。
- 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
操作前务必完全退出 VSCode(包括右下角托盘进程),否则部分文件被占用删不掉。删完重启,VSCode 会自动重建必要缓存,首次打开略慢,但后续加载明显提速。
为什么删了extensions目录后插件还失效或图标灰显
因为 VSCode 在 extensions 目录下还会留 -cache 后缀的子文件夹,比如 ms-python.python-2024.8.0-cache。这些是插件更新中断或校验失败时残留的损坏包,会导致 Failed to fetch extension 或激活失败。
- 只删带
-cache的文件夹,不要删整个extensions目录——否则所有插件配置重置 - Windows 下可用 PowerShell 精准筛选:
Get-ChildItem "$env:USERPROFILE\.vscode\extensions" | Where-Object {$_.Name -match '-cache$'} | Remove-Item -Recurse -Force - macOS/Linux 用:
find ~/.vscode/extensions -name "*-cache" -type d -exec rm -rf {} +
重启后 VSCode 会重新下载并解压插件,比手动重装更干净。
哪些缓存绝对不能动,一删就丢配置
User 和 GlobalStorage 是雷区。前者存着 settings.json、keybindings.json、已信任工作区列表;后者是插件自己写的全局数据,比如 GitLens 存的 commit 图谱、Python 扩展存的 Pylance 符号数据库路径。
-
%APPDATA%\Code\User(Windows)/~/Library/Application Support/Code/User(macOS)/~/.config/Code/User(Linux):删了等于重装 VSCode -
%APPDATA%\Code\GlobalStorage(Windows)/~/Library/Application Support/Code/GlobalStorage(macOS)/~/.config/Code/GlobalStorage(Linux):插件文档里才写明具体用途,没查过源码或文档就别碰 - 某些插件还会在
%LOCALAPPDATA%(Windows)或/tmp(Linux/macOS)建独立目录,比如终端增强类插件——这类得翻插件 GitHub README 找context.globalStoragePath实际落盘位置
清理完还是慢?重点查这三类扩展行为
缓存清得再干净,如果扩展还在后台疯狂扫描或监听,项目照样加载卡顿。用 Developer: Show Running Extensions 查 CPU 占用,重点关注 Host 列为 Renderer 且长期 >20% 的扩展:
-
esbenp.prettier-vscode:大文件格式化时阻塞 UI 线程,关掉prettier.requireConfig或加.prettierignore -
ms-python.vscode-pylance:没配pyrightconfig.json就全量扫描,加个最小配置能降 70% 启动耗时 -
eamodio.gitlens:开启gitlens.advanced.legacyGitSupport后解析慢,关掉它或改用原生 Git 功能
验证方式是禁用 → Developer: Reload Window → 对比滚动/打字流畅度。别用“禁用全部再逐个开”,有些扩展依赖顺序激活,乱开会导致语言服务崩溃。











