最省事方案是用code runner插件并配置code-runner.showexecutionmessage为true、runinterminal和preservefocus均设为false;手动time.time()适合单段同步逻辑调试;code time等仅统计编码行为,与执行时间无关。

VSCode 默认不显示代码运行耗时,最省事的方案是用 Code Runner 插件并正确配置;手动加 time.time() 最可控但需注意适用场景;别指望 Code Time 或 WakaTime——它们根本不统计执行时间。
Code Runner 怎么配才能看到 Execution Time
它不是装上就出时间,关键在三处设置是否对齐:
-
code-runner.showExecutionMessage必须为true(默认是false) -
code-runner.runInTerminal建议设为false:设为true会开新终端,不走 VSCode 内置输出,自然不显示耗时 -
code-runner.preserveFocus建议设为false:否则焦点切到终端后你可能根本没看到最后一行Execution Time: 0.123s - Python/Node.js/Go 等语言,得确保对应解释器或编译器在系统
PATH中,否则连运行都失败,更别说计时
手动加 time.time() 适合什么情况
它不依赖插件、不挑环境,但只适合调试单段同步逻辑:
- 别用
time.clock():Python 3.8+ 已彻底移除 - 普通脚本用
time.time()足够,time.perf_counter()是给纳秒级压测准备的,语义反而模糊 - 有
subprocess.run()或asyncio.run()的代码,计时结果包含等待外部进程或协程调度的时间,不代表 Python 本身执行开销 - 示例写法:
import time<br>start_time = time.time()<br># 你的逻辑<br>result = sum(range(10**6))<br>end_time = time.time()<br>print(f"耗时: {end_time - start_time:.4f}s")
为什么 Code Time 和 WakaTime 都不行
它们压根不是为这个设计的,混淆概念会导致反复折腾:
-
Code Time只统计你在编辑器里敲键盘、保存、切换文件的“编码行为”时长,python main.py在终端跑 10 分钟,它一秒钟都不会记 -
WakaTime同理,它的数据来源是编辑器事件(onDidChangeTextDocument等),不是进程生命周期;~/.codetime/和~/.wakatime.log里永远找不到Execution Time - 有人试过用 Tasks + WakaTime 组合,但 Task 启动终端后编辑器失焦,WakaTime 自动暂停——这是预期行为,没法绕过
真正要查函数级耗时,得用 cProfile 配合 VS Code 自带的 Profiler;想看整条命令执行多久,直接终端里跑 time python script.py。插件不是万能的,关键得看清它到底监听什么、上报什么。











