Code Runner插件最省事,需配置code-runner.showExecutionMessage为true并确保解释器在PATH中;手动time.time()适合单段逻辑调试;cProfile配合VS Code探查器分析函数级耗时;Code Time仅统计编码行为,与执行时间无关。

用 Code Runner 插件最省事,但得注意语言配置
VS Code 默认不显示运行时间,Code Runner 是目前最轻量、开箱即用的方案——它会在终端输出末尾直接打印 Execution Time。不过不是所有语言都默认启用计时,比如 Python 要确认插件设置里 code-runner.runInTerminal 为 false(否则走外部终端,不显示耗时),且 code-runner.preserveFocus 建议设为 false,避免焦点丢失导致你没看到结果。
- 安装后右键选
Run Code,或按Ctrl+Alt+N(Windows/Linux)/Cmd+Option+N(macOS) - 若只看到输出、没见时间,检查设置中
code-runner.showExecutionMessage是否为true - 对 Node.js、Go 等语言,需确保对应解释器/编译器已正确配置在系统
PATH中,否则运行失败,自然也没时间
手动加 time.time() 最可控,但别用在异步或子进程里
适合调试单段逻辑、验证算法复杂度,也兼容所有 Python 环境。核心是两行:start_time = time.time() 和 end_time = time.time(),差值即秒级耗时。
- 别用
time.clock()(Python 3.8+ 已移除),也别用time.perf_counter()除非你真需要纳秒级精度——对绝大多数脚本,time.time()足够且语义清晰 - 如果代码里有
subprocess.run()或asyncio.run(),计时会包含等待外部程序或协程调度的时间,不代表纯 Python 执行开销 - 示例:
import time start_time = time.time() # 你的代码块 result = sum(range(10**6)) end_time = time.time() print(f"耗时: {end_time - start_time:.4f}s")
想看函数级耗时?别信“一行插件”,用 cProfile + VS Code 自带探查器
没有插件能“自动给每行标执行时间”——那违背 Python 的执行模型。真正靠谱的是标准库 cProfile,配合 VS Code 的 性能探查器(Profiler) 可视化查看各函数独占/累计耗时。
- 启动方式:按
Ctrl+Shift+P→ 输入Python: Profile Current File(需已安装官方 Python 扩展) - 结果里重点看
Exclusive Time %:这才是函数体自身花的时间,排除了调用子函数的开销 - 如果跑出来全是
<built-in method>占大头,说明瓶颈在 C 层(如 NumPy 运算),再怎么优化 Python 循环也没用
Code Time 不是运行计时器,别混淆“编码时间”和“执行时间”
有人装了 Code Time 发现状态栏有个时钟,就以为它能显示程序运行多久——其实它只统计你敲键盘、保存文件、切换标签等编辑行为的时长,和代码实际执行完全无关。它的数据库存在 ~/.codetime/,哪怕你运行一个 while True: 死循环,它也不会增加一秒。
- 如果你在调试卡顿,它帮不上忙;如果你在算工时,它才管用
- 它甚至不会记录你 Ctrl+C 中断的运行,因为那不算“完成编码动作”
- 真要长期监控脚本性能,该上
logging+ 时间戳,或导出cProfile结果到.prof文件做趋势分析
实际项目里,90% 的运行时间问题靠 Code Runner 快速验证就够了;剩下 10%,一旦涉及多函数、I/O、并发,就得切到 cProfile。手动插 time.time() 看似简单,但容易漏删、污染生产代码——建议只在临时调试分支里用。










