华为云CodeArts IDE For Python 快速使用指南

CodeArts IDE 带有 Python 扩展,为 Python 语言提供了广泛的支持。Python 扩展可以利用 CodeArts IDE 的代码补全、验证、调试和单元测试等特性,与多种 Python 解释器协同工作,轻松切换包括虚拟环境和 conda 环境的 Python 环境。本文简要概述了 CodeArts IDE 中为 Python 提供的特性。在 CodeArts IDE 上开始使用 Python 前,请确保您在计算机上已安装了 Python。

一、新建Python项目

CodeArts IDE 提供了一个 Python 项目向导,帮助您更轻松地创建新项目并配置环境。

步骤1 在主菜单中,选择文件 > 新建 > 工程 。

步骤2 在打开的“新建工程”对话框中,从左侧列表选择“Python“,填入项目参数。

  1. 设置项目名称和路径。
  2. 在“新环境使用“的下拉框中选择使用“Virtualenv“选项,让CodeArts IDE 为您创建一个隔离的、特定于项目的 Virtualenv Python环境。这样就可以使您在项目级别安装包,不会污染全局Python。
    • 保留创建环境的默认位置。
    • 确保在基础解释器列表中已选择一个解释器。通常CodeArts IDE会自动从标准安装位置检测解释器位置并展示在此处。

步骤3 勾选“创建main.py示例脚本“复选框,以便CodeArts IDE使用示例内容填充项目,让您快速试用IDE的主要功能。

步骤4 单击“创建“。CodeArts IDE将创建并打开项目,在项目根目录下的 “venv” 文件夹中创建一个新环境,并将其设置为项目解释器。

二、使用代码提示

在编写代码时,CodeArts IDE会为您的项目文件、内置模块和第三方模块提供代码补全建议。代码补全功能会在您键入时自动显示符号和文档,您也可以通过手动按下 “Ctrl+I” / “Ctrl+Space” / “Ctrl+Shift+空格键” 来随时触发它。此外,您还可以将鼠标悬停在标识符上以获取更多相关信息。 

三、浏览代码

CodeArts提供了丰富的代码导航功能。例如,您可以在代码编辑器中将鼠标悬停在符号上,以查看其快速信息。通过 “Ctrl+单击” 符号,或按下 “F3” / “Alt+F11”(IDEA快捷键) / “F4”(IDEA快捷键) / “Ctrl+Enter”(IDEA快捷键) / “Ctrl+B”(IDEA快捷键),快速导航到符号的声明位置。

您也可以借助CodeArts IDE SmartSearch功能,立即搜索并导航到任何项目位置,查找和执行任何CodeArts IDE命令。 

四、运行代码

您可以通过以下的任意方式来使用当前选定的解释器运行代码:

  • 单击CodeArts IDE主工具栏上的“开始执行(不调试)”按钮 (

    ),以启动内置的“当前文件”启动配置。
  • 在代码编辑器的任意位置右键单击,并选择“运行 Python 文件”。如果您在选定的代码块上调用此命令,则可以仅运行该部分代码。 

  • 在资源管理器中右键单击 Python 文件,并从上下文菜单中选择“运行 Python 文件”。 

五、调试代码

CodeArts 的 Python 扩展提供了调试支持,让您能够设置断点、检查数据,在逐步执行程序时使用调试控制台。

  1. 对于快速开始项目,您可以在 "main.py" 文件的第 14 行设置一个断点。将光标悬置在 “print_hi” 调用上,然后按下 “F9” / “Ctrl+Shift+B” / “Ctrl+F8”(IDEA快捷键)。您也可以通过单击编辑器左侧的行号旁的空白区域来设置断点。 

  2. 接下来需要初始化调试器,您可以按下 “F5” / “F11” / “Shift+F9”(IDEA快捷键),或者单击CodeArts IDE主工具栏上的“开始调试”按钮 (

    )。

  3. CodeArts IDE将启动内置的“当前文件”启动配置,调试器将在包含断点的那一行暂停运行。

  4. 此时您可以使用调试工具栏上的命令来控制程序执行,并查看“运行和调试”视图中的“变量”来检查变量。

六、测试代码

Python扩展支持使用 unittest 和 pytest 框架进行测试。CodeArts 可以帮助您配置框架集成,并提供专用的“测试”视图,让您能够方便地识别和运行测试。 以下是一个如何创建和运行一个 unittest 测试的示例。

步骤1 创建一个测试对象,也就是新建一个名为 “inc_dec.py” 的文件,它包含以下内容:

def increment(x):return x + 1def decrement(x):return x - 1
复制

步骤2 创建一个 “unittest” 测试来覆盖这个测试对象,即创建一个名为 “inc_decunittest.py” 的文件,包含以下内容::

import inc_dec    # The code to test
import unittest   # The test frameworkclass Test_TestIncrementDecrement(unittest.TestCase):def test_increment(self):self.assertEqual(inc_dec.increment(3), 4)def test_decrement(self):self.assertEqual(inc_dec.decrement(3), 4)if __name__ == '__main__':unittest.main()
复制

步骤3 在 CodeArts IDE 中配置 unittest 框架集成。

  1. 单击 CodeArts IDE 底部面板中的 “测试” 按钮(

    )打开“测试”视图,单击 “Configure Python Tests” 按钮。 

  2. 在弹出的对话框中,选择您想要启用集成的测试框架,在本例中是 “unittest”。 

  3. 在接下来的对话框中,选择包含测试源文件的项目文件夹。在我们的例子中,是项目根文件夹(“.”)。 

  4. 下一个对话框中,选择用于标识测试文件的文件通配符模式,本例中为 \“*test.p\”。 

步骤4 在配置完框架集成后,CodeArts IDE会自动检测测试并在“测试”视图中显示它们。 

现在,您可以使用各种命令(在命令面板(“Ctrl Ctrl” / “Ctrl+Shift+P”)中,在编辑器行号区,或在“测试”视图中)来运行和调试测试,包括运行单个测试文件和单个方法。 

更多功能,请访问官网:CodeArtsIDE-华为云

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot+vue实现的疫情防控物资调配与管理系统

作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…

算法—分治

分而治之:指的是当主问题可以被分解为一个相同次级问题加相同基本问题时,采用这种思想,基本问题指问题规模最小时的情况,次级问题是指主问题的n级降低n-1级的问题。 具体实现:多数采用递归操作分解,然后递归操作&#…

视频国标学习

总体介绍 GB/T28181协议,全名叫《安全防范视频监控联网系统信息传输、交换、控制技术要求》,是由中国国家标准委员会发布的一种国家级的标准。它主要对视频监控系统的各个方面做了明确的规定,使得不同厂商生产的视频监控设备能够相互连通&am…

多普勒频移

下面从频谱的角度理解多普勒频移。 设目标以速度接近雷达,在时刻距离,则在任意时刻目标与雷达的距离为 设雷达发射信号为。设时刻发射的信号经过遇到目标,则由于目标与信号相向运动,有 得到,从而时刻发射的信号经过返回…

2024蓝桥杯——宝石问题

先展示题目 声明 以下代码仅是我的个人看法,在自己考试过程中的优化版,本人考试就踩了很多坑,我会—一列举出来。代码可能很多,但是总体时间复杂度不高只有0(N) 函数里面的动态数组我没有写开辟判断和free,这里我忽略…

C语言:文件操作(三)

目录 前言 5、文章的随机读写 5.1 fseek 5.2 ftell 5.3 rewind 结语 前言 本篇文章继续讲解文件操作,讲解文件的随机读写,主要有三个函数:fseek;ftell;rewind。 前面讲解的函数都是对文件内容进行顺序读写&#x…

数据湖技术选型——Flink+Paimon 方向

文章目录 前言Apache Iceberg存储索引metadataFormat V2小文件 Delta LakeApache Hudi存储索引COWMOR元数据表 Apache PaimonLSMTagconsumerChangelogPartial Update 前言 对比读写性能和对流批一体的支持情况,建议选择Apache Paimon截止2024年1月12日数据湖四大开…

WordPress网站上添加看板娘

续接上篇——基于LNMP部署wordpress-CSDN博客 目录 一.下载并解压 二.设置头文件 修改header.php 修改配置文件footer.php 三.将你设置的主题包上传到/usr/share/nginx/html/wp-content这个目录里 四.扩展——将看板娘修改到左侧 一.下载并解压 [rootaliyun ~]# wget htt…

抖音小店被投诉侵权后怎么办?别慌!教你如何申诉!

大家好,我是电商花花。 这两年听到最多的违规除了低价违规之外,就是专利侵权,现在听到不少风声,最近查专利侵权的不少,很多人商家失足踩了坑。 目前来说像3C数码,服装,玩具类目、部分母婴产品…

定时器产生延时停止

1,需求: 当按下按钮SB1,输出信号为0N,指示灯点亮;按下按钮SB2,经过10s的延时后,指示灯熄灭 2,关闭使用定时的常闭触电

强大的Python爬虫技巧:数据抓取、网页解析、自动化

主流电商平台商品详情主页数据采集,大批量高并发的数据采集,我们需要用电商API接口接入的方式实现电商数据自动化采集。 Python爬虫是一项强大的技术,可以用于从互联网上抓取数据、解析网页内容,并实现自动化任务。本文将介绍一些…

如何应对MySQL单表数据量过大:垂直分表与水平分表策略解析

话接上回,单表最大数据建议两千万,那如果开发一个项目,预计注册量达到一个亿怎么办。 单表内放这么多数据,MYSQL底层B树的层级结构就可能会变得很高,磁盘io次数变多,性能会大幅度降低。所以考虑数据库分表…

Contained连接Harbor仓库,报错failed to call tryLoginWithRegHost

1、Harbor镜像仓库地址:192.168.0.190 2、Contained地址:192.168.0.179(k8s集群master节点) 3、创建目录/etc/containerd/certs.d/镜像仓库Harbor ip mkdir -p /etc/containerd/certs.d/192.168.0.190 4、进人上面目录&#xff0…

mybatis-puls 条件分析插件

一,能做什么 我们在平时的开发中,会遇到一些慢sql. MP也提供了性能分析插件,如果超过这个时间就停止运行! 二,如何实现 2.1引入条件分析插件 //性能分析BeanProfile({"dev","test"}) //设置dev 和 test环境开启public Performanc…

牛客周赛 Round 39(A,B,C,D,E,F,G)

比赛链接 官方题解(视频) B题是个贪心。CD用同余最短路,预处理的完全背包,多重背包都能做,比较典型。E是个诈骗,暴力就完事了。F是个线段树。G是个分类大讨论,出题人钦定的本年度最佳最粪 题目…

《自动机理论、语言和计算导论》阅读笔记:p172-p224

《自动机理论、语言和计算导论》学习第 8 天,p172-p224总结,总计 53 页。 一、技术总结 1.Context-Free Grammar(CFG) 2.parse tree (1)定义 p183,But perhaps more importantly, the tree, known as a “parse tree”, when used in a …

用二进制译码器实现组合逻辑函数

用二进制译码器实现组合逻辑函数 原理 由于 n n n 位二进制译码器可提供 2 n 2^n 2n 个最小项的输出,而任一个逻辑函数都可变换为最小项之和的标准与或式,因此利用译码器和门电路可实现单输出及多输出组合逻辑电路 基本步骤 选择合适的集成二进制译…

使用Scrapy选择器提取豆瓣电影信息,并用正则表达式从介绍详情中获取指定信息

本文同步更新于博主个人博客:blog.buzzchat.top 一、Scrapy框架 1. 介绍 在当今数字化的时代,数据是一种宝贵的资源,而网络爬虫(Web Scraping)则是获取网络数据的重要工具之一。而在 Python 生态系统中,S…

社交媒体数据恢复:Viber

Viber是一款流行的即时通讯应用,用于发送消息、语音通话和视频通话。然而,有时候我们会不小心删除一些重要的Viber聊天记录,这时候就需要进行数据恢复。本文将介绍如何在安卓设备上进行Viber数据恢复。 一、使用安卓数据恢复软件 安卓数据恢…

排序算法之选择排序

目录 一、简介二、代码实现三、应用场景 一、简介 算法平均时间复杂度最好时间复杂度最坏时间复杂度空间复杂度排序方式稳定性选择排序O(n^2 )O(n^2)O(n^2)O(1)In-place不稳定 稳定:如果A原本在B前面,而AB,排序之后A仍然在B的前面&#xff1…