应通过命令行定位并删除 workspacestorage 中最占空间的旧子目录:windows 用 powershell 运行指定脚本,macos/linux 用 du 命令,优先删修改时间超90天、体积达gb级的废弃项目缓存;删除后需彻底退出并重启 vscode,首次打开对应工作区会重建索引,不丢失任何配置文件。

工作区缓存(workspaceStorage)是 VSCode 占用 C 盘空间最多、最常被误删又最不该全删的目录——它不随项目关闭自动清理,但删错会导致搜索变慢、跳转失灵,删对了能立刻释放几 GB 空间。
怎么快速定位 workspaceStorage 里最占空间的旧工作区
每个打开过的文件夹都会在 workspaceStorage 下生成一个 GUID 命名的子目录,里面存着该工作区的符号索引、搜索缓存、调试快照等。时间一长,废弃项目的目录可能比当前项目还大。
- Windows:PowerShell 中运行
cd "$env:APPDATA\Code\User\workspaceStorage"; Get-ChildItem -Directory | ForEach-Object { $size = (Get-ChildItem $_.FullName -Recurse -File -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum; [PSCustomObject]@{Folder=$_.Name; SizeMB=[math]::Round($size/1MB, 2)} } | Sort-Object SizeMB -Descending | Select-Object -First 5
- macOS/Linux:终端执行
du -sh ~/.config/Code/User/workspaceStorage/*/ | sort -hr | head -5
结果排第一的,大概率是半年没碰过的 monorepo 或含大量 node_modules 的 Python 项目残留 —— 它不是“临时文件”,但你确实不需要它继续占着空间。
删 workspaceStorage 子目录会不会丢 settings.json 或 launch.json
不会。这些配置文件完全独立:
-
.vscode/launch.json和.vscode/settings.json都在项目根目录下,和workspaceStorage无关 - 全局配置存在
%APPDATA%\Code\User\settings.json(Windows)或~/.config/Code/User/settings.json(Linux/macOS),也不在 workspaceStorage 里 -
workspaceStorage只存运行时生成的数据:Ctrl+Shift+P 历史、Go to Symbol 的索引、断点位置映射、已信任工作区标记等
删错目录的典型表现是:重启后某项目“搜索全部文件”变慢、跳转定义偶尔失灵——说明索引没了,但所有配置、扩展状态、甚至已信任标记都还在。
为什么删完 workspaceStorage 还是很快涨回去
因为 VSCode 默认对整个工作区递归建立索引,尤其当你没配 files.watcherExclude 或 search.exclude 时,node_modules、dist、__pycache__ 全被扫进去,一次 Ctrl+Shift+F 就能再塞回几百 MB。
- 推荐在项目根目录的
.vscode/settings.json中加:
"files.watcherExclude": {
"**/node_modules/**": true,
"**/dist/**": true,
"**/__pycache__/**": true
},
"search.exclude": {
"**/node_modules": true,
"**/dist": true
}
这能从源头压制 workspaceStorage 的膨胀速度。否则,删完一周就回到几 GB 是常态。
删完要不要重启 VSCode?删完能不能立刻见效
要重启,而且必须彻底退出(确认任务管理器 / 活动监视器里没有残留的 Code.exe 或 Code Helper 进程)。
删完重启后,对应工作区首次打开会重建索引,所以搜索、跳转会稍慢几秒;但后续就轻了——这不是“清缓存”的副作用,而是你主动把本就不该长期驻留的旧索引移除了。
真正容易被忽略的是:workspaceStorage 里的子目录名是 GUID,看不出对应哪个项目。建议删之前先看修改时间,优先处理 LastWriteTime 超过 90 天的目录;别凭名字猜,也别全删。











