写代码时总免不了遇到bug,光靠眼睛看可看不出问题在哪。这时候,调试就成了最直接的解决办法。VSCode作为现在很多人用的编辑器,调试功能其实挺方便,只要几步就能跑起来。
先确认环境支持
不同语言调试方式不一样,比如JavaScript、Python、Go这些常见语言,VSCode都有对应的插件支持。以Python为例,得先装好Python扩展,不然点调试也没反应。打开扩展商店搜“Python”,安装那个官方出的就行。
配置launch.json文件
按F5运行调试,第一次会提示你选环境,比如Node.js、Python、Chrome等。选对了语言,VSCode就会自动生成一个.vscode/launch.json文件。这个文件控制调试行为,比如启动哪个脚本、传什么参数。
比如你想调试一个叫app.py的Python程序,生成的配置可能长这样:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: 当前文件",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}
这里的${file}表示当前打开的文件,也就是说无论你在哪个py文件里按F5,都会调试它自己。
打断点和查看变量
在代码行号左边点击,就能打个红点,那就是断点。运行调试后,程序执行到这一行会停下来。这时候你可以把鼠标悬停在变量上,看看它的值是多少。左边的“变量”面板也会列出当前作用域里的所有数据。
比如有段代码:
for i in range(5):
print(i * 2)
在print那行设个断点,运行调试,每次循环到这里都会暂停,i的值从0变到4的过程一清二楚。
控制执行流程
暂停后,顶部会有几个按钮:继续(F5)、单步跳过(F10)、单步进入(F11)、跳出当前函数(Shift+F11)。点“跳过”是执行当前这行然后停在下一行;“进入”是如果调用了函数,就钻进函数里面一步步看。
就像做饭时看菜谱,跳过就是“我把这一步做完”,进入就是“我得看看这一步里面具体咋操作”。
调试Node.js程序也类似
如果是写JavaScript,比如有个server.js文件,想调试后台服务,也可以在launch.json里写:
{
"name": "启动Node应用",
"type": "node",
"request": "launch",
"program": "${workspaceFolder}/server.js"
}
然后按F5,程序就带调试模式跑起来了。遇到断点一样能看变量、控制执行节奏。
小技巧:条件断点
有时候循环太多,不想每趟都停。右键断点可以设“条件”,比如只在i == 3的时候中断。这样效率高多了。
调试不是高手专属,写代码的人天天都在用。VSCode把这些功能做得挺直观,花十分钟试试,下次查问题就不用靠print满天飞了。