VSCode日志默认存于用户数据目录的logs子目录:Windows为%APPDATA%\Code\logs\,macOS为~/Library/Application Support/Code/logs/,Linux为~/.config/Code/logs/;可通过code --log-level=off --disable-logging禁用日志生成。

VSCode 的日志文件默认存哪?
VSCode 启动时自动生成的日志(如 main.log、renderer.log、sharedprocess.log)默认放在用户数据目录下,不是项目里,也不会被 Git 跟踪——所以你找不到它们,往往是因为压根没去对地方找。Windows 在 %APPDATA%\Code\logs\,macOS 是 ~/Library/Application Support/Code/logs/,Linux 是 ~/.config/Code/logs/。这些路径本身不能“隐藏”,但可以控制是否生成、是否保留、是否自动清理。
怎么禁止 VSCode 写日志文件?
VSCode 没有全局开关一键禁用所有日志,但可通过启动参数抑制大部分:
- 启动时加
--log-level=off:关闭主进程和渲染进程的常规日志(不影响崩溃 dump) - 加
--disable-logging:彻底禁用 Chromium 日志(包括renderer.log等) - 组合使用更彻底:
code --log-level=off --disable-logging
注意:--disable-logging 会影响开发者工具 Console 中部分底层日志输出,调试扩展时可能少一条线索;而 --log-level=off 不影响 F12 控制台的 console.log。
日志文件已经生成,能自动清理吗?
VSCode 不会自动删除旧日志,但你可以:
- 手动删掉
logs/目录下的子目录(每个子目录对应一次启动,命名如20240510T141223) - 用脚本定期清理(比如保留最近 3 天):
find ~/Library/Application\ Support/Code/logs -mindepth 1 -maxdepth 1 -type d -mtime +3 -exec rm -rf {} \; - 配置
settings.json加"telemetry.enableCrashReporter": false和"telemetry.enableTelemetry": false,减少 crash report 和遥测日志量(但不删已有日志)
为什么改了设置还是看到日志文件?
常见误判点:
- 你以为关了日志,其实只是没看到弹窗或面板输出——日志文件仍由主进程后台写入
-
settings.json里的日志相关选项(如debug.logging)只影响调试器日志,不影响主进程日志 - 使用
code-insiders或多实例时,日志路径独立,要分别处理 - 某些扩展(比如 Live Server、Remote-SSH)会自己写日志到项目内或临时目录,和 VSCode 自身日志无关
日志目录本身无法“隐藏”成系统隐藏属性来规避,真正可控的是生成行为和生命周期。别花时间折腾文件属性,盯住启动参数和清理节奏更实际。


















