VSCode 本地缓存不会自动清理,需手动配置触发时机;Code Runner 可设清终端输出,tasks.json 支持任务级清屏,Python 字节码需外部命令清理,Cache 和 GPUCache 目录须手动删除。

VSCode 本地缓存不会自动清理,所谓“自动”必须靠你手动配置触发时机——它不按时间、不按大小、不按使用频率淘汰,只在你明确告诉它“该清了”的时候才动。
Code Runner 运行前自动清终端输出
这不是清 Python 字节码或磁盘缓存,而是每次按 Ctrl+Alt+N 执行脚本前,把集成终端里的上一轮输出(含滚动缓冲区)彻底擦掉,避免旧日志干扰判断。
- 打开设置:
Ctrl+,→ 搜索Code-runner: Clear Previous Output→ 勾选启用 - 它调用的是 VSCode 原生
Terminal: Clear,不是 shell 的clear命令,历史内容真没了 - 仅对 Code Runner 触发的执行生效;用 Python 扩展的
Run Python File in Terminal不受此控制
tasks.json 配置 "clear": true 实现任务级清屏
当你用自定义 tasks.json 跑构建、测试或部署流程时,这是唯一能保证每次执行前清空终端的可靠方式。
- 必须放在
presentation对象里,且与command同级,不能嵌套进problemMatcher或group - 示例片段:
{
"version": "2.0.0",
"tasks": [
{
"label": "python: run",
"type": "shell",
"command": "python ${file}",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": true,
"clear": true
}
}
]
}
-
"clear": true只清终端显示,不删.pyc或__pycache__
Python 缓存文件(.pyc / __pycache__)无法靠 VSCode 自动删
VSCode 本身不干涉 Python 解释器的字节码生成逻辑。改了代码却没生效?大概率是旧 .pyc 在捣鬼。
- 最稳妥的做法:在保存时用
find或PowerShell命令自动清理 - Linux/macOS 示例(加到
tasks.json的 preLaunchTask 或 shell script 中):find . -name "*.pyc" -delete -o -name "__pycache__" -prune -exec rm -rf {} + - Windows PowerShell 示例:
Get-ChildItem -Recurse -Include "*.pyc", "__pycache__" | ForEach-Object { if ($_.PSIsContainer) { Remove-Item $_ -Recurse } else { Remove-Item $_ } } - 注意:别在项目根目录无条件
rm -rf __pycache__,某些包(如 PyInstaller 打包产物)可能依赖它
真正影响启动速度和磁盘空间的是 Cache 和 GPUCache
这两个目录才是占几十 GB 的元凶,但 VSCode 从不自动清理它们——哪怕你关机一周,它们也原封不动躺在那里滚雪球。
- Windows 路径:
%APPDATA%\Code\Cache和%APPDATA%\Code\GPUCache - macOS 路径:
~/Library/Caches/com.microsoft.VSCode - Linux 路径:
~/.cache/Code - 删完必须彻底退出 VSCode(包括托盘进程),再重启——首次打开稍慢属正常,不会丢配置
- 如果删完几小时又涨回几个 GB,检查是否开了 Remote-SSH / Dev Containers,或用了带本地模型的插件(如
ms-python.python),它们会在CachedData或Remote子目录另建缓存
复杂点在于:没有单一开关能“全局自动清理”。你得按需组合——终端输出靠 Code Runner 设置,任务流靠 tasks.json,Python 字节码靠外部命令,而 Cache 目录只能手动删或写脚本定期扫。最容易被忽略的是 GPUCache,它常比 Cache 还大,却极少被提及。


















