轻松上手:使用VSCode调试Python模块级代码的完整教程

news2024/12/28 2:35:01
  1. 安装VSCode:请确保已经安装了Visual Studio Code。

  2. 安装Python插件:在VSCode中,转到Extensions视图 (View -> Extensions) 并搜索"Python"。找到由Microsoft提供的插件并点击安装。重启VSCode以确保插件安装正确。

  3. 准备项目:创建一个新的Python项目,或使用现有项目。确保项目中有一个可执行的模块。例如,假设有一个名为my_module.py的文件,其内容如下

def main():
    print("Hello, world!")

if __name__ == "__main__":
    main()
  • 创建调试配置:在VSCode中打开项目文件夹,然后转到Run视图 (View -> Run)。点击“create a launch.json file”链接。这将创建一个名为launch.json的配置文件,其中包含一些预定义的调试配置。此文件应存储在.vscode文件夹中。

  • 编辑launch.json:将预定义的配置替换为以下内容:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Run My Module", // 配置名称,将在调试配置下拉列表中显示
            "type": "python", // 调试类型,这里是Python
            "request": "launch", // 请求类型,这里选择“launch”表示启动调试
            "module": "my_module", // 要执行的Python模块名称,请替换为实际的模块名称
            "cwd": "${workspaceFolder}", // 当前工作目录设置为项目文件夹
            "console": "integratedTerminal", // 使用VSCode的集成终端显示输出
            "args": [], // 如果需要传递命令行参数,可以在这个列表中添加
            "pythonPath": "${config:python.pythonPath}", // 指定Python解释器的路径
            "env": {}, // 环境变量字典,可以在这里添加自定义环境变量
            "envFile": "${workspaceFolder}/.env", // 如果需要从文件加载环境变量,可以指定.env文件的路径
            "stopOnEntry": false, // 是否在程序启动时立即暂停,以便在第一行代码之前设置断点
            "showReturnValue": true, // 是否在调试过程中显示函数的返回值
            "redirectOutput": true // 是否将程序输出重定向到调试控制台,而不是终端
        }
    ]
}

请注意,"module": "my_module"指定了要执行的模块。将my_module替换为您实际要执行的模块名称。此外,"cwd": "${workspaceFolder}"确保当前工作目录设置为项目文件夹。

2023-04-27-16-41-34-image.png
  1. 启动调试:保存launch.json文件,然后在Run视图中选择新创建的“Python: Run My Module”配置。点击绿色的播放按钮或按F5键开始调试。在集成终端中,您应该看到"Hello, world!"输出。
    2023-04-27-16-42-05-image.png

通过遵循这些步骤,您可以在VSCode中使用python -m命令执行模块进行调试。这将有助于新手快速上手,并轻松地在模块级别进行调试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/472579.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

边听歌边充电LDR6028+LDR9201既能充电又能OTG方案

随着type-c接口的普及,市面上的手机,平板,笔电逐渐都采用了type-c接口,设备为了不断的追求更轻薄的机身和防水要求慢慢的取消了一些影响手机外观完整性的接口,比如3.5mm耳机孔。 有线耳机用户一般会选择使用C口转3.5m…

资深架构师解读零代码开发平台—如何不写代码实现流程审批

审批节点 “审批节点:” 流程中涉及审批时,需要用到审批节点。审批可通过或者驳回,也可以发送通知。可以多人会签/或签审批。 1. 审批节点 1.1 审批设置 ① 审批方式 审批方式默认为或签方式,只一个人审批即可 当选择会签时&#…

【英语】大学英语CET考试,口语考试介绍与备考1(讲义笔记)

文章目录 1、考试基本信息2、考试题型介绍3.1 短文朗读与回答问题(语音篇)3.1.1 语音篇真题3.1.2 语音篇6项基础知识3.1.3 语音语调练习(名言名句)3.1.4 短文朗读练习材料(真题) 3.2 自我介绍与看图说话&am…

IC面试,你一定要准备好这些(内附大厂面试题目)

大家都知道,面试的表现会对于个人职业发展的重要性,不仅能决定是否录用,还会影响到后期的谈薪,所以面试前一定要做好充分的准备。 怎么准备面试? 这里就建议简历上的表述尽量客观化、专业化,多使用数字和…

目标跟踪综述 (持续更新)

这几天对目标跟踪挺感兴趣的,但是在CSDN和知乎上面找的相关介绍资料都看的一知半解,所以自己找了一篇 2022-04-26 发表的综述文章作下笔记学习下。 目录 一、基于相关滤波的目标跟踪算法 1、相关滤波视频目标跟踪算法的框架 2、相关滤波目标跟踪算法…

GPT-4开源平替miniGPT-4来了,仅需23G显存单机可run,附论文、项目代码地址

来源 | 新智元 微信号:AI-era 先是ChatGPT的发布给世界带来了一点小小的NLP震撼,随后发布的GPT-4更是破圈计算机视觉,展现了非凡的多模态能力。 不光能读懂人类的梗,给个手绘草图甚至可以直接写出网站的代码,彻底颠覆…

百度地图 TypeError: Cannot set properties of undefined (setting ‘Bm‘)

这类问题出现的原因一般是,页面还没有加载完,地图开始加载,或者地图加载在页面加载之前 在项目中,我用isMapLoading控制地图的加载,false–加载,true–不加载,在data()中设置isMapLoadingtrue

矩阵的秩的计算

definition 1 矩阵的秩 矩阵的列空间的维度 矩阵的零空间的秩 矩阵的自由变量的个数 n - r(A) definition 2 这两个证明很好证 第三个证明可以用零空间的秩 example 1 hyperlink

HTTPS建立连接原理、SSL工作原理

HTTPS与HTTP相比有什么区别? HTTPS保证安全的原理是什么? HTTPS是如何建立连接的? 巨人的肩膀 3.1 HTTP 常见面试题 | 小林coding HTTP与HTTPS的区别 HTTP是超文本传输协议,传输的内容是明文(HTTP1.1及之前版本)。HTTPS在TCP与HT…

【LeetCode】27. 移除元素

题目链接:https://leetcode.cn/problems/remove-element/ 📕题目要求: 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,…

【原创】生成文件MD5图像,类似于GitHub的像素风格头像

前言 我想通过文件的md5生成关于这个md5的图像,类似于GitHub的随机像素头像,用处是让这个md5更加直观,也能用于生成各种用户头像,跟GitHub一样。 网上搜了一下,没有现成的方法,只能有一篇类似的文章可以借…

第N2周:中文文本分类-Pytorch实现

目录 一、前言二、准备工作三、数据预处理1.加载数据2.构建词典3.生成数据批次和迭代器 三、模型构建1. 搭建模型2. 初始化模型3. 定义训练与评估函数 四、训练模型1. 拆分数据集并运行模型 一、前言 🍨 本文为🔗365天深度学习训练营 中的学习记录博客 …

运算符重载----赋值运算符重载

运算符重载 本质是函数调用,内置类型编译器直接比,自定义就去找对应类内重载的函数 如果定义在类外,需要访问私有的成员函数,只能将成员函数权限变为Public或者友元(非必须不用) ,所以一般重载…

Linux程序设计之字节序转换

1.在网络通信中,数据的存储方式十分重要,因为它影响到数据的准确性。如今,电脑和网络上数据的存储方式有两种:大端模式和小端模式。大端模式:数据的高位存储在内存的低位,数据的低位存储在内存的高位。小端…

【keil5开发ARM工程时使用STLink调试的技巧分享】

ARM工程开发小技巧系列文章 St link V2驱动安装方法 文章目录 ARM工程开发小技巧系列文章前言一、准备工作1. 硬件连接2. 安装stlink的驱动3. Keil 5配置 二、调试示例1.进入调试状态2. 调试演示2.1 复位,使程序复位到初始位置2.2 单步调试2.3 逐步调试2.4 跳出调…

Quartus中的逻辑锁定与增量编译

逻辑锁定功能可以将FPGA中的代码模块在固定区域实现,优化时序性能,提升设计可靠性。增量编译功能,可以使设计更快速时序收敛,加快编译速度。 LogicLock 使用Chip Planner创建逻辑锁定区域 打开Chip Planner,点击Vie…

Kubernetes Controller原理讲解

Controller原理 在 K8s 中,用户通过声明式 API 定义资源的“预期状态”,Controller 则负责监视资源的实际状态,当资源的实际状态和“预期状态”不一致时,Controller 则对系统进行必要的更改,以确保两者一致&#xff0…

人群计数数据集汇总和详细介绍,全网最全,crowd counting datasets

Crowd Counting数据集汇总 视频监控video surveillance https://github.com/gjy3035/Awesome-Crowd-Counting/blob/master/src/Datasets.md进展 | 密集人群分布检测与计数 :https://www.sohu.com/a/338406719_823210 Free-view 2022_Pedestrian Attribute Recognition htt…

vue+element Ui 树型组件tree懒加载+搜索框远程请求数据为平铺类型

本人之前一直是耕耘后台研发,最近接了个小需求需要接触到vue,记录一下我遇到的一些前端解决时间长的问题 需求: 1:每次动态请求接口获取下一节点数据 2:接口返回的数据是list,不带子节点,用pid来…

Scala中使用Typesafe Config 库

Typesafe Config 库 在 Scala 中加载配置文件有很多种方法,其中一种常用的方法是使用 Typesafe Config 库。该库提供了一种简单易用的方式来读取和解析配置文件。 以下是在启动 main 方法后加载配置文件的示例代码: 引入 Typesafe Config 库 import c…