VSCode内存持续爬升的主因是未清理的缓存残留、文件监听开销及插件后台进程,而非本地Cache目录本身;需配合删除多级缓存、配置files.watcherExclude、终止扩展进程并彻底退出VSCode才能有效降内存。

VSCode本地缓存本身不直接占用运行内存,但它是内存持续爬升的“温床”——真正吃内存的是未清理的缓存残留 + 持续监听 + 插件后台进程。清缓存只是第一步,必须配合进程控制和监听过滤才有效。
为什么删了Cache目录内存还是高
VSCode 的 %APPDATA%\Code\Cache(Windows)或 ~/Library/Caches/com.microsoft.VSCode.ShipIt(macOS)本质是 Chromium 渲染层的 HTTP 和资源缓存,影响启动速度和 UI 加载,但不直接导致运行时 RSS 内存飙升。你删完重启发现内存又涨回去,大概率是因为:
- Extension Host 进程仍在运行旧插件实例(禁用插件后没彻底关窗口)
-
workspaceStorage中损坏或过大的工作区快照持续被加载(尤其含大二进制文件或日志的工作区) - Remote-SSH 或 Dev Containers 在
~/.vscode-server/data/Machine下建了独立缓存,和本地Cache无关 - 语言服务器(如
pyright、tsserver)已把索引常驻内存,删 Cache 完全不影响它
files.watcherExclude 是比删缓存更关键的配置
文件监听器才是内存泄漏的“根因”。VSCode 默认对整个工作区递归注册 inotify 句柄,遇到 node_modules 这种几万小文件的目录,内核会持续分配不可回收的内存。这不是缓存,是实时监听开销。
必须在项目根目录的 .vscode/settings.json 中写入(全局设置无效):
{
"files.watcherExclude": {
"**/node_modules/**": true,
"**/dist/**": true,
"**/build/**": true,
"**/.git/**": true,
"**/venv/**": true,
"**/__pycache__/**": true
}
}
注意:"**/node_modules/**" 末尾的 /** 缺一不可,漏掉就等于没写;改完必须关闭并重新打开该工作区,Developer: Reload Window 不生效。
哪些缓存目录可以安全删除且见效快
以下路径在完全退出 VSCode 后可直接删除(Windows 示例,macOS/Linux 类推):
-
%APPDATA%\Code\Cache:UI 渲染缓存,删后首次启动稍慢,无副作用 -
%APPDATA%\Code\GPUCache:GPU 纹理缓存,常驻几 GB,必删 -
%APPDATA%\Code\CachedData:扩展 Marketplace 页面快照,含大量图片和 JS,可删 -
%APPDATA%\Code\Crashpad:崩溃报告缓存,无用,可删 -
%APPDATA%\Code\User\workspaceStorage:按工作区哈希命名的子目录,挑长期不用或体积 >500MB 的删(用 PowerShell 排序最快)
别碰 %APPDATA%\Code\User\settings.json 和 keybindings.json,那是你的配置,不是缓存。
Python/TS等语言服务的缓存要单独处理
像 ms-python.python 或 dbaeumer.vscode-eslint 这类插件,会在 %APPDATA%\Code\Extensions\* 下建 cache 或 intellisense 子目录,还可能往 %LOCALAPPDATA%\Microsoft\vscode-cpptools(C++)或 ~/.vscode/extensions/*/node_modules(JS/TS)里塞数据。这些不是通用 Cache,而是语言服务器索引,删了会重载,但能立刻释放几百 MB 内存。
实操建议:
- 先执行
Developer: Show Running Extensions,确认哪些语言服务真在跑 - 找到对应扩展目录,进
out/或dist/下的cache、index、db文件夹,直接删 - 对 Python,顺手检查
C_Cpp.intelliSenseMemoryLimit是否设为2048(单位 MB),避免无限制增长
最易被忽略的一点:所有清理操作都必须在彻底退出 VSCode 后进行——Windows 要杀光 Code.exe 和 Code Helper.exe,macOS 要从菜单栏右键退出,不能只关窗口。


















