最典型疯狂写日志或缓存的插件是ms-python.python、eamodio.gitlens和esbenp.prettier-vscode,它们分别在cache/、gitlens子目录及cacheddata中持续dump数据,导致磁盘被悄悄吃光;可通过资源监视器或find命令验证目录突增,再按需禁用或配置优化。

哪些插件会在后台疯狂写日志或缓存
磁盘被悄悄吃光,往往不是因为大文件,而是某些插件在你没注意时持续往 CachedData、workspaceStorage 或插件自己的 cache/ 目录里 dump 数据。最典型的有三个:
-
ms-python.python:每次启动或切换解释器,都会在.vscode/extensions/ms-python.python-*/cache/下写几 MB 的 LSP 会话快照和类型推导缓存 -
eamodio.gitlens:只要工作区含 Git 仓库,它就在后台扫描历史并把提交图谱、作者信息、行级 blame 结果全缓存进GitLens子目录,不动它就一直写 -
esbenp.prettier-vscode:保存大 JSON/CSV/Markdown 时生成格式化中间产物,尤其当"prettier.requireConfig": false(默认),它会对任意文件强行解析,失败后仍留临时文件
怎么快速验证是不是它们在写
别猜,直接看磁盘 IO 和目录增长:
- Windows:打开资源监视器 → “磁盘”选项卡 → 筛选进程名含
Code.exe或node.exe,观察“写入 (B/sec)”持续 >1MB/s 的时段,同时用 PowerShell 运行:Get-ChildItem "$env:APPDATA\Code\CachedData", "$env:APPDATA\Code\WorkspaceStorage" -Recurse | Sort-Object LastWriteTime -Descending | Select-Object FullName, Length, LastWriteTime -First 10 - macOS:活动监视器 → “磁盘”标签页 → 找
Code Helper (Renderer)写入峰值;终端执行:find ~/Library/Application\ Support/Code/{CachedData,WorkspaceStorage} -type f -mtime -1 -ls | sort -nrk7 | head -10 - 看到
CachedData或某个 GUID 命名的WorkspaceStorage子目录在最近几分钟内大小突增 >50MB,基本就是 GitLens 或 Python 插件在刷缓存
禁用策略要分场景,不能一刀切
全局禁用太粗暴,容易影响日常开发;按需关闭才稳:
- 临时排查:命令面板输入
Extensions: Disable All Installed Extensions,重启 VS Code,确认磁盘写入是否停止;再逐个启用,观察CachedData目录变化 - 长期控制:在项目根目录的
.vscode/settings.json中加这些配置(只对当前工作区生效):"gitlens.advanced.caching": false"python.cacheBackend": "none""prettier.requireConfig": true(强制只在有.prettierrc的目录生效) - 彻底停掉某插件的日志输出:比如 GitLens,还能额外加一句:
"gitlens.outputLevel": "warn",把 info/debug 级日志全关掉
删完插件后空间还不释放?那是残留目录锁住了
点 UI 上「卸载」只是禁用,%USERPROFILE%\.vscode\extensions 下对应插件文件夹(如 ms-python.python-2024.8.0)还在,含完整 node_modules 和 LSP 二进制,体积常达 400–700MB。必须手动删:
- 关死所有 VS Code 进程(任务管理器里杀光
Code.exe、Code Helper.exe、node.exe) - 进
%USERPROFILE%\.vscode\extensions,按「修改日期」排序,重点删带-old、-backup、年份为202[0-2].的文件夹 - 别信文件夹名——右键插件 → 「Copy Extension ID」,再在该目录里搜索这个 ID,精准定位
真正难搞的不是插件本身,而是它写进 WorkspaceStorage 的符号索引和 GitLens 缓存;这些目录删了不丢设置,但首次重开工作区会慢几秒——这是重建索引的代价,没法绕开。











