🐸 青蛙编程网
首页 / 开发工具 / VSCode / 6. 终端与调试

终端与调试

这是什么:集成终端 = 编辑器底部自带的命令行(Ctrl+` 呼出);调试器 = 给代码打断点、逐行执行、实时看每个变量的值。

为什么用:没有它们,你要在编辑器和系统命令行之间来回切换,查错只能「猜哪错了 → 加一行 print → 再跑一遍」。断点调试让你亲眼看着程序一步步走,变量在哪一步变了值一目了然。

如何用:先练终端(跑 Python 的主入口),再用 5 个调试键位把一段会出错的代码查明白。

集成终端:一个窗口全包

按 Ctrl+`(Esc 下面那个键,macOS 相同)呼出底部面板的终端标签:

(.venv) PS E:\playground> python hello.py
hello

它就是系统终端长在编辑器里,自动定位到当前项目文件夹,venv 激活状态也会显示。常用操作:

操作 快捷键 / 做法
呼出/隐藏终端 Ctrl+`
新开一个终端 面板右上角 +(比如一个跑服务、一个敲命令)
清屏 输 cls(Windows)/ clear(macOS/Linux)
运行当前文件 右上角 ▶ 按钮,或终端里 python 文件名

点编辑器右上角的 ▶(Run Python File)本质就是在集成终端里替你执行 python 当前文件——和手敲是一回事。

断点调试:让程序慢下来

先写一段「有故事」的代码 debug_demo.py:

def total_price(price, count):
    total = price * count
    discount = 0.9
    total = total * discount      # 打个断点在这行左侧
    return total

print(total_price(10, 3))

打断点:在第 4 行(total = total * discount)行号左边点一下,出现红点。

开始调试:按 F5(首次会让你选调试器,选 Python Debugger,再选 Python File)。

程序跑到断点就停住了——注意:这时第 4 行还没执行。切换视角:

  • 左侧面板(运行和调试):局部变量区实时列出 price=10, count=3, total=30, discount=0.9
  • 编辑器内联提示:每行代码后面直接灰字标着各变量的当前值

五个调试键位(顶部工具条 + F5 区域):

键 名字 作用
F5 继续 跑到下一个断点或结束
F10 单步跳过 执行当前行,停到下一行(不进函数内部)
F11 单步进入 钻进当前调用的函数里逐行走
Shift+F5 停止 结束调试
Ctrl+Shift+F5 重启 改完代码重新调

按一次 F10:第 4 行执行,变量区里 total 从 30 变成 27.0——数据变化的全过程亲眼可见,这就是调试比 print 强的地方:不用改代码,随时看任何变量。

调试实战:查一个经典 bug

def average(nums):
    total = 0
    for n in nums:
        total = total + n
    return total / len(nums)

print(average([]))     # 报 ZeroDivisionError

直接运行报 ZeroDivisionError: division by zero。调试思路:F5 启动(直接把异常断点用上:调试面板勾选「引发的异常」处暂停,或先在 return 行打断点)→ 停下后看变量:nums=[]、len(nums)=0 → 答案揭晓:空列表除以零。修复:进函数先判空或调用前保证非空。

这就是调试的标准循环:打断点 → 看变量 → 定位那一步不对 → 修。比加十行 print 快得多,也不污染代码。

记忆口诀:反引号里终端开,▶ 按钮替你带;F5 停在红点处,F10 单步看变量改。

❓ 常见问题

Q1:按 F5 提示选择调试器 / 没有 Python 选项?

Python 插件没装或没识别。修复三步:① 装 Python 插件;② Ctrl+Shift+P → Python: Select Interpreter 选对解释器;③ 再按 F5 选 Python Debugger。

Q2:断点是空心圆圈,程序没停?

空心 = 断点未生效。两种常见原因:① 代码改动后没保存(断点挂在旧版本上),Ctrl+S 后红点变实心;② 打错文件了——确认红点在这次运行的那个文件里。

Q3:终端里 (.venv) 没了 / 用错了 Python?

新开的终端有时不带激活状态。修复:Ctrl+Shift+P → Python: Select Interpreter 选 venv,之后 ▶ 运行和调试都会用它;或终端里手动激活(venv 教程的激活命令)。

📝 本章小结

  • Ctrl+` 呼出集成终端,▶ 按钮等效 python 当前文件
  • 断点:行号左侧一点红;F5 启动调试,程序停在断点前
  • 五键:F5 继续、F10 跳过、F11 进入、Shift+F5 停、Ctrl+Shift+F5 重启
  • 调试循环:断点 → 看变量区 → 定位出错的那一步,比 print 快且不脏代码

动手改

  1. 给 debug_demo.py 打断点,用 F10 走完全程,盯住 total 的变化
  2. 把断点打在 return total 行,用「调试控制台」输入 total / 2 现场算个值(调试时能执行任意表达式)
  3. 调试查 average 空列表 bug:先猜答案,再用变量区验证

上一章:插件 · 下一章:综合练习 🐸

📥 下载本章代码

ZIP 内含本章全部代码文件与说明,解压即用,与教程内容同步生成。