Code Runner 显示 Execution Time 需开启 code-runner.showExecutionMessage(true)、禁用 runInTerminal(false)和 preserveFocus(false);手写 time.time() 仅适用于同步逻辑临时验证;函数级耗时须用 cProfile 或 Chrome DevTools 等原生 profiler。

Code Runner 插件配对就能看,但默认不显示耗时——关键在三处设置是否生效。
Code Runner 怎么配才出 Execution Time
它不是装上就显示时间,必须手动打开计时开关,并让输出走 VSCode 内置终端:
-
code-runner.showExecutionMessage必须设为true(默认是false) -
code-runner.runInTerminal建议设为false:设为true会新开外部终端,VSCode 不捕获输出,自然不打印耗时 -
code-runner.preserveFocus建议设为false:否则焦点切到终端后,你可能根本没看到最后一行Execution Time: 0.123s - Python/JavaScript/Go 等语言,得确保对应解释器在系统
PATH中,否则连运行都失败
手写 time.time() 适合什么场景
不依赖插件、环境兼容性最强,但只适用于纯同步逻辑的临时验证:
- 别用
time.clock():Python 3.8+ 已彻底移除 - 普通算法题用
time.time()足够;time.perf_counter()是给纳秒级压测准备的,语义反而模糊 - 含
subprocess.run()、requests.get()或asyncio.run()的代码,计时结果包含等待时间,不代表算法本身开销 - 示例写法:
import time<br>start_time = time.time()<br>result = sum(range(10**6))<br>end_time = time.time()<br>print(f"耗时: {end_time - start_time:.4f}s")
想查函数级耗时?别信“自动标注”插件
没有插件能自动给每行代码标执行时间——那违背 Python/JS 的执行模型。真正靠谱的是语言原生 profiler:
- Python:用
cProfile+ VS Code 自带的Profiler面板,可看各函数独占时间、调用次数、总占比 - JavaScript/TypeScript:启用调试配置中的
"profile": true,点“录制 CPU 配置文件”,生成火焰图,下钻到源码行 - 注意:默认按“总耗时”排序容易误判,重点看
Self Time+# Calls组合——比如一个被调 5000 次、每次 2ms 的小函数,实际拖慢全局
为什么 Code Time 和 WakaTime 都不行
它们压根不监听进程生命周期,只记录编辑行为:
-
Code Time统计你在编辑器里敲键盘、保存、切换标签的时间,python main.py在终端跑 10 分钟,它一秒钟都不记 -
WakaTime数据来源是onDidChangeTextDocument这类事件,不是child_process.spawn;~/.wakatime.log里永远找不到Execution Time - 有人试过用 Tasks + WakaTime,但 Task 启动终端后编辑器失焦,WakaTime 自动暂停——这是预期行为,没法绕过
真正卡在哪儿,得靠 cProfile 或 Chrome DevTools 这类工具实打实采样;而 Code Runner 显示的只是命令级总耗时,两者粒度不同,别混用。



















