问题:

拿到项目中的.py文件,怎么用VS Code进行调试?

VS Code是微软推出的轻量级代码编辑器,功能强大,更重要的是环境配置方便,界面设计合理。(笔者试用过Google的Atom,Sublime Text等其他轻量级编辑器,认为VS Code虽然体量稍大,但在易用性和功能方面依然具有优势)

那么,这篇文章以在VS Code名称为maple-master的项目文件中,调试maple-master/script/idiom/main.py文件为例,介绍调试python文件的方法(默认已装好python环境)。

要求:

目标是,调试时让main.py文件在maple-master/example/shared_counter/路径下,以两个输入参数display 和test_history运行。

1. 设置.py文件调试所需的运行环境?

  • 导入项目

将整个工程文件夹maple-master加入到VS Code的project列表中。

打开要调试的main.py文件,如下图:

img

框1显示了所有打开的文件及其路径,框2显示了导入的整个project文件夹,框3显示了打开的.py文件所在具体位置,这里打开的是maple-master/script/maple/idiom中的main.py文件。

如果调试project的单个.py文件,而且这个文件需要特定的运行路径环境变量参数才能运行,可使用如下方式:

  • 生成launch.json文件

点击框4,进入如下界面

img

然后,点击红框中的齿轮标志,随后会生成并打开项目的launch.json文件,可以在其中任意配置运行参数。因为此处调试.py文件,因此需要增加一个python的配置。

  • 生成python默认配置

在launch.json文件中,点击右下角Add Configuration按钮如下图

img

会生成如下默认配置的选择框,选择其中的python项

img

于是launch.json中添加了如下关于Python的默认运行参数配置

img

  • 修改特定的.py运行参数

这里,因为我们的目标是让main.py文件在特定的路径下接受两个参数调试运行,默认的参数不符合,所以要进行修改,修改后代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"name": "idiom_main",
"type": "python",
"request": "launch",
"stopOnEntry": true,
"pythonPath": "${config:python.pythonPath}",
"program": "${file}",
"cwd": "${workspaceRoot}/example/shared_counter/",
"args":[
"display",
"test_history"
],
"env": null,
"envFile": "${workspaceRoot}/.env",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput"
]
},

于是launch.json变为下图

img

红框部分为修改部分,下面做简要解释

"args" 表示以这个配置运行文件时,传给文件的参数,这里我们传了两个参数display和test_history

"cwd" 表示在什么位置运行的这个文件

"name" 参数表示为我们生成的这个配置的名称,原本因为添加的python默认运行参数,名称也是默认的python,但是因为这里设置的”args”和”cwd”只适用于main.py这个文件,所以改写名称为idiom_main作为和其他.py文件调试配置的区分。

保存!

注意:如果想修改其他参数,比如环境变量"env"等等,可以鼠标移动到参数上面看浮动解释框内容。如果有需要main.py运行前需要做的事情,可以在"task"选项和对应的task.json文件中配置,调试python用的少,调试C++用的多,这里不再赘述。

2. 开始debug

进入需要调试的main.py文件,点击下图的框1,然后点击框2选择idiom_main作为运行配置,最后点击框3开始debug

img

下图中框1代表到达的默认断点位置(再也不用担心闪退了),后续操作可以通过框2浮动窗口的命令和提示进行。

img

​ ​:happy:​ Good Luck!!

转载请注明出处,欢迎大家指正交流,我会持续更新