一、 引言
1. 简介 VSCode 和 Cursor
可参考 https://blog.csdn.net/weixin_54037546/article/details/143258152
2. 运行和调试功的作用
- 验证代码功能 运行代码允许开发者快速验证他们的代码是否按预期工作。
- 识别和修复错误 调试功能帮助开发者逐步执行代码,找出错误的确切位置和原因。
- 优化性能 通过调试和性能分析工具,开发者可以识别代码中的瓶颈并进行优化。
- 理解复杂逻辑 对于复杂的算法或逻辑,调试功能允许开发者逐步执行代码,深入理解每一步的操作。
- 提高开发效率 运行和调试工具集成在IDE中,使得开发过程更加流畅,减少了在编辑器和命令行之间切换的需要。
- 协作和知识共享 调试会话可以被保存和共享,有助于团队成员之间的协作和问题解决。
- 模拟不同环境 通过配置不同的运行和调试环境,开发者可以模拟各种场景,如不同的操作系统或生产/开发环境。
- 远程调试 远程调试功能允许开发者调试部署在远程服务器或设备上的代码,这对于解决特定环境下的问题非常有用。
- 教育和学习 对于新手开发者,运行和调试功能是学习编程和理解代码执行流程的重要工具。
- 提高代码质量 通过频繁的运行和调试,开发者可以更早地发现和修复问题,从而提高整体代码质量。
二、运行
以 python举例
1. 选择python解释器
- ctrl + shift + P 唤出VScode的命令窗口
- 输入命令: Python:Select Interpreter 选择对于的python解释器,如图:
2. 运行
- 建议安装一个插件 Code Runner,他能够快速帮助我运行代码 安装完成之后,可以直接再右上角的图标选择方法进行运行,如图 VScode的运行其实使用命令进行运行的,所有除此之外我们可以直接在 Terminal 窗口输出命令执行脚本,效果是一样的,如图:
3. debug 调试
需要安装插件 Python Debugger
断点调试 各按钮含义
1. 简单的不带参数的调试
非常简单如图所示:
2. launch.json 文件调试
适用于 比较复杂的调式场景:
- 运行需要带参数
- 测试不同环境
- 根目录不标准
- ……
3. 建立launch.json 文件
就会出现一个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"}]}
4. 运行调试
选择对应的 python调配即可进行对于的断点调试。
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",// 调试程序路径 ${file} 是当前文件的路径"program":"${workspaceFolder}\\requests_files1\\BN0001.py",// 调试器终端类型 integratedTerminal 集成终端 externalTerminal 外部终端"console":"integratedTerminal","env":{// 设置PYTHONPATH环境变量,使得Python解释器能够找到src目录 添加之后能够直接 import 目录下的py文件// 使用分号; 分隔多个路径// ${workspaceFolder} 是VSCode的工作区目录,即包含.vscode目录的目录// ${workspaceFolderBasename} 是工作区目录的名称"PYTHONPATH":"${workspaceFolder}/spider_template;${workspaceFolder}/requests_files1"},// // 加载.env文件,获取环境变量// "envFile": "${workspaceFolder}/.env",// 禁用Just My Code,这样调试器不会跳过第三方库的代码"justMyCode":false,// 设置工作目录为当前文件所在目录 工作目录是调试器启动时所在的目录"cwd":"${workspaceFolder}",// 设置Python解释器路径 python 或者 pythonPath// "python": "F:\\study\\python\\python3.8.7\\python.exe","python":"F:\\work_1\\Codes\\projectes\\reconstruction_Network\\.venv\\Scripts\\python.exe",// 设置Python解释器参数 执行参数//添加多个参数 "args":["test","test2","test3"]}]}
如何 配置 多个python调式配置
添加多个debug配置 例如,我配置三个不同的 Python 调试配置,分别使用不同的 python解释器
{// 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":[{// 使用 绝对路径指定python解释器版本 运行test1.py"name":"Python Debugger: usual","type":"debugpy","request":"launch","program":"${file}",// 大部分可以用"console":"integratedTerminal","python":"F:\\study\\python\\python3.8.7\\python.exe"},{// 使用 vscode 指定的python解释器运行 test2.py"name":"Python Debugger: test2","type":"debugpy","request":"launch","program":"${workspaceFolder}/test2.py","console":"integratedTerminal"},{// 使用venv的python 运行test3.py"name":"Python Debugger: test3","type":"debugpy","request":"launch","program":"${workspaceFolder}/test3.py","console":"integratedTerminal","python":"F:\\work_1\\Codes\\projectes\\reconstruction_Network\\.venv\\Scripts\\python.exe",}]}
遇到过的问题
launch.json 配置了 python解释器版本是3.8.7,但是启动调式的命令却是 3.11。如图:
一开始我以为是launch.json里面配置的python解释器没有作用,但是,当我在文件中 导入一个sys的模块,我发现这个一个很神奇的情况,如图
我们可以看出这个sys是3.8.6的python导入的,总结就是控制台的输出命令显示错误。这是一个概率事件。
版权归原作者 潇歆 所有, 如有侵权,请联系我们删除。