一、 引言

1. 简介 VSCode 和 Cursor

可参考 https://blog.csdn.net/weixin_54037546/article/details/143258152

2. 运行和调试功的作用

  1. 验证代码功能
    运行代码允许开发者快速验证他们的代码是否按预期工作。
  2. 识别和修复错误
    调试功能帮助开发者逐步执行代码,找出错误的确切位置和原因。
  3. 优化性能
    通过调试和性能分析工具,开发者可以识别代码中的瓶颈并进行优化。
  4. 理解复杂逻辑
    对于复杂的算法或逻辑,调试功能允许开发者逐步执行代码,深入理解每一步的操作。
  5. 提高开发效率
    运行和调试工具集成在IDE中,使得开发过程更加流畅,减少了在编辑器和命令行之间切换的需要。
  6. 协作和知识共享
    调试会话可以被保存和共享,有助于团队成员之间的协作和问题解决。
  7. 模拟不同环境
    通过配置不同的运行和调试环境,开发者可以模拟各种场景,如不同的操作系统或生产/开发环境。
  8. 远程调试
    远程调试功能允许开发者调试部署在远程服务器或设备上的代码,这对于解决特定环境下的问题非常有用。
  9. 教育和学习
    对于新手开发者,运行和调试功能是学习编程和理解代码执行流程的重要工具。
  10. 提高代码质量
    通过频繁的运行和调试,开发者可以更早地发现和修复问题,从而提高整体代码质量。

二、运行

以 python举例

1. 选择python解释器

  • ctrl + shift + P 唤出VScode的命令窗口
    在这里插入图片描述
  • 输入命令: Python:Select Interpreter 选择对于的python解释器,如图:
    在这里插入图片描述

2. 运行

  1. 建议安装一个插件 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导入的,总结就是控制台的输出命令显示错误。这是一个概率事件。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐