VSCode本身不写磁盘日志,空间占用源于脚本、语言服务器或扩展主动生成的.log文件;需检查并禁用GitLens、C/C++、Python等扩展的日志输出,约束脚本FileHandler行为,并配置files.watcherExclude防止监听日志目录。

VSCode 本身不写日志到磁盘,真正吃空间的是你运行的脚本、语言服务器或扩展自己产生的日志文件。 默认情况下,VSCode 只把 console.log 或 logging.info() 输出到集成终端,不会落盘。一旦发现 C:\Users\youname\AppData\Roaming\Code\logs 或项目里冒出大量 .log 文件,说明是某段代码、某个插件或调试配置在主动写文件。
检查并禁用自动写日志的扩展
有些扩展(如旧版 GitLens、Python 的某些调试器、C/C++ 扩展的 IPCH 缓存)会在后台生成日志或缓存文件。常见现象:
-
C:\Users\youname\AppData\Roaming\Code\logs下出现renderer.log、main.log等,且体积持续增长 - 项目根目录或
build/目录下出现vscode-debug-*.log或clangd.log - 打开命令面板执行
Developer: Open Process Explorer后,看到某个扩展进程的Memory或Disk I/O异常偏高
实操建议:
- 在设置中搜索
gitlens.outputLevel,设为error或关闭gitlens.outputChannels - 对
C/C++扩展,检查C_Cpp.loggingLevel是否为Warning或更低;禁用C_Cpp.intelliSenseEngine的冗余缓存可配合C_Cpp.intelliSenseCacheSize调小到1024 - 禁用
Remote - SSH的详细日志:设置remote.ssh.logLevel为off
约束 Python / Node.js 脚本的日志输出行为
如果你在 VSCode 中运行训练脚本、CLI 工具或本地服务,它们很可能通过 logging.FileHandler 或 fs.createWriteStream 主动写日志。这类日志不在 VSCode 控制范围内,但会快速填满磁盘。
实操建议:
- 检查脚本中是否硬编码了
FileHandler,例如:handler = logging.FileHandler("train.log")→ 改为仅在需要时启用,或用RotatingFileHandler限制大小 - Node.js 中避免无条件写文件:
fs.appendFile("debug.log", data)→ 加开关控制,或改用process.stdout.write()让 VSCode 终端捕获 - 在
launch.json的env中注入环境变量,让脚本按需开启日志:"env": { "ENABLE_FILE_LOG": "false" }
清理与隔离已有日志路径
VSCode 不管理这些日志,但你可以通过配置阻止它扫描或触发相关行为:
- 在工作区
.vscode/settings.json中添加:"search.exclude": { "**/*.log": true, "**/logs/**": true }(注意:这只是隐藏搜索结果,不阻止写入) - 更关键的是加进
files.watcherExclude:"files.watcherExclude": { "**/*.log": true, "**/logs/**": true, "**/cache/**": true }—— 这能防止 VSCode 为每个新日志文件注册 inotify 监听器,避免内核句柄耗尽和内存爬升 - 若日志由扩展生成(如
Service Worker\CacheStorage),直接清空该目录:C:\Users\youname\AppData\Roaming\Code\Service Worker\CacheStorage(必须完全退出 VSCode 后操作)
真正容易被忽略的点是:**日志路径是否被误设为项目根目录或 node_modules 内部?** 比如某 CLI 工具默认把 debug.log 写进当前工作目录,而你恰好在仓库根目录运行它——结果整个 git status 都被污染,磁盘也悄悄涨了几 GB。动手前先 ps aux | grep log 或用 Process Explorer 定位源头,比盲目删目录靠谱得多。


















