【背景介绍】
不可否认,VSCode是一款非常好用的IDE,但是作为PyCharm和VSCode的同时使用者,总是感觉VSCode调试代码非常吃力。
在PyCharm中,对于不需要命令行输入参数的文件来说,只要点击右上角的小虫子就可以开始debug了。VSCode也差不多。
但是在需要命令行输入参数的情况下,两者差别就比较大了。PyCharm只要选择好环境,然后在代码界面右键选择Modify Run Configuration,然后在Parameters栏加入需要输入的参数即可。
【问题描述】
但是VSCode对应的选项是Debug using launch.json,进去之后是下面这个样
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python Debugger: Current File",
"type": "debugpy",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}
对于萌新来说,直接就蒙了,这是个什么玩意儿?
【问题分析】
但其实懂了之后也很简单。这个文件其实就和上面PyCharm界面是一样的。每一个条目也许就对应里面的一栏,问题就出在PyCharm把所有条目都给你列出来了,要填的就填,不填的空着,但是launch.json只列出了一小部分条目,其他的需要你自己添加,但是怎么加,他没告诉你。
回看PyCharm的调试界面,其实最重要的就是四块内容:文件路径、传入参数、虚拟环境、
工作路径,只要在launch.json中添加了对应的这四块内容,那么就可以顺畅地Debug了。
【解决方法】
添加方法如下:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python Debugger: Current File",
"type": "debugpy",
"request": "launch",
"program": "sam2.py",
"console": "integratedTerminal",
"cwd": "/data/segment-anything-2",
"pythonPath":"/data/anaconda3/envs/sam/bin/python3.10",
"args":""
}
]
}
program初始就有(剩下三个都需要自己添加),对应的是文件路径,改为需要调试的文件路径即可;
cwd对应的是工作路径;
pythonPath对应的是虚拟环境,填入想用的环境下的python解释器路径即可;
args对应传入参数,怎么用就不用说了。
这个时候再选择Debug using launch.json,就可以正常Debug了!