code --log trace 生成的是 VSCode 自身运行时的底层事件流日志,包含主进程、渲染进程和扩展主机的 IPC 调用、模块加载、插件激活及崩溃快照等,需关闭所有实例后执行,日志默认输出到终端 stdout 而非自动落盘,须手动重定向或使用 --logFile(部分版本支持),推荐通过命令面板打开真实日志目录获取结构化日志。

code --log trace 生成的是什么日志
它不是应用层日志,也不是 Java 或 Python 的业务日志,而是 VSCode 自身运行时的底层事件流:主进程(main)、渲染进程(renderer)、扩展主机(exthost)三端混合输出,含 IPC 调用、模块加载、插件激活、崩溃前快照等。这类日志对排查“启动卡死”“闪退”“扩展全挂”最直接有效。
必须关闭所有 VSCode 实例再执行
VSCode 是多实例架构,后台常驻主进程。如果已有窗口开着,code --log trace 会复用旧进程,新参数无效,日志文件也不会生成。实操前务必确认:
- macOS:Activity Monitor 中无
Code Helper (Renderer)或Electron进程残留 - Windows:任务管理器中结束所有
Code.exe及子进程 - Linux:运行
pkill -f "code.*--log"或ps aux | grep code | grep -v grep | xargs kill -9
日志文件名和位置不固定,别硬找 vscode-debug.log
VSCode 2025 年底起默认不再固定写入 vscode-debug.log。实际行为是:
- 终端执行
code --log trace后,日志实时输出到终端 stdout,**不会自动落盘** - 若想保存,需手动重定向:
code --log trace --enable-logging > vscode-run.log 2>&1 - 或使用
--logFile参数(仅部分版本支持):code --log trace --logFile ./vscode-trace.log - 更稳妥的方式:启动后按
Cmd+Shift+P/Ctrl+Shift+P→ 输入Developer: Open Logs Folder,打开的就是当前会话的真实日志目录,里面main.log和exthost/*.log才是结构化可用的日志
trace 级别日志体积巨大,别在日常开发中常开
--log trace 每秒可产生数 MB 日志,连续运行 1 分钟就可能超 100MB。容易踩的坑包括:
- 磁盘空间被快速占满,尤其 macOS 用户默认 ~/Library/Application Support/Code/Logs 目录在系统盘
- 终端卡顿甚至假死,因 stdout 缓冲区被日志流撑爆
- 日志中大量重复的 telemetry、settings sync 请求,干扰关键线索定位
- 真正需要时,优先用
--log warn或--log error快速过滤异常;只有复现偶发崩溃才上trace
日志路径、命名和落盘行为在不同 VSCode 版本间差异明显,依赖“生成某个固定文件名”的脚本大概率失效——每次调试前先用 Developer: Open Logs Folder 确认真实输出位置,比猜文件名可靠得多。











