软件测试/测试开发丨结对编程助手 GitHubCopilot

news2024/11/25 15:23:23

点此获取更多相关资料

简介

GitHub Copilot 是一款 AI 结对程序员,可帮助您更快、更少地编写代码。GitHub Copilot 由 GitHub、OpenAI 和 Microsoft 开发的生成式 AI 模型提供支持。它可作为 Visual Studio Code、Visual Studio、Neovim 和 JetBrains 集成开发环境 (IDE) 套件的扩展。

如何使用

环境准备
  • 科学上网:具备流畅访问 GitHub 官网的网络环境。
  • IDE:支持 JetBrains IDEs、Visual Studio 等集成开发环境。
环境安装

1.进入官网GitHub-Copilot注册信息。

2.GitHub-Copilot 收费 10 美元一个月,需要先填写信用卡信息,但是可以免费试用 30 天,所以可以在 30 天到期前取消续费。

图片

3.准确填写信用卡信息后点击 Submit 就完成了。

图片

4.打开IDE,以下以 Pycharm 为例,打开 Settings -> Plugins -> Marketplace ,搜索 GitHub Copilot 点击 Install 后等待安装完成点击 Restart IDE。

图片

5.安装完插件后,在 Pycharm 进行登录,点击 Tools -> GitHub Copilot -> Login to GitHub。

图片

6.点击 Copy and Open,点击验证码粘贴到弹出的浏览器中,点击 Continue 后,点击授权 Authorize GitHub Copilot Plugin。

图片

7.等待 Pycharm 加载后就可以使用 GitHub Copilot 了。

图片

实践演练

使用说明

1.PyCharm 右下方状态栏中,红圈表示 GitHub Copilot 的logo,表示开启 GitHub Copilot 插件。

2.不论是编写代码中的注释,还是一句执行代码,或是一个代码块、一个函数,GitHub Copilot 都会随着你的输入过程,不断提供代码补全建议。

注意事项

1.GitHub Copilot 也可能猜错你打算写的代码,但只要你继续输入,它就会给出新的建议。

2.对于任何给定的输入,GitHub Copilot 可能会提供多种建议。可以根据需求选择要使用的建议,也可以拒绝所有建议。

3.用户可以启用或禁用 GitHub Copilot:单击 PyCharm 右下方状态栏中的状态图标选择启用或禁用 GitHub Copilot 的建议 。

相关快捷键
OS查看下一个建议查看上一个建议接收建议拒绝建议显示建议
macOScommand+]command+[tabescoption+
WindowsAlt+]Alt+[tabescalt+
LinuxAlt+]Alt+[tabescalt+
使用 Copilot 编写一个快速排序
  1. 输入相关注释以及开头。

    图片

2.它会自动开始补全代码。灰色部分是它提示的代码,点击 tab后就可以接收它的建议了。

合并两个列表,并且排序

1.输入注释与要求:

合并两个列表,并且排序

2.根据提示的需求,一直按tab键,中间会自动产生注释以及实现的代码,以下所有的代码都是自动生成:

def merge_list(list1, list2):
 # 合并两个列表,并且排序
 # 1. 定义两个指针,分别指向两个列表的第一个元素
 p1 = 0
 p2 = 0
 # 2. 定义一个新的列表,用于存储合并后的结果
 result = []
 # 3. 循环比较两个指针所指向的元素,将较小的元素添加到新的列表中
 while p1 < len(list1) and p2 < len(list2):
     if list1[p1] < list2[p2]:
         result.append(list1[p1])
         p1 += 1
     else:
         result.append(list2[p2])
         p2 += 1
 # 4. 将未比较完的列表中的元素添加到新的列表中
 result += list1[p1:]
 result += list2[p2:]
 # 5. 返回新的列表
 return result

3.编写一个单元测试用例,测试是否实现,编写一个函数名为def test_merge_list():,其他使用自动补全,最终单元测试用例生成的结果为:

def test_merge_list():
   assert merge_list([1,2,5], [3,4,6]) == [1,2,3,4,5,6]

总结

1.Copilot 的环境安装与使用都非常简单,可以把它当作一个在 IDE 中使用的ChatGPT。

2.一些明确的代码逻辑,可以交给它完成。

3.Copilot并非所有的输出都是正确的,在使用的过程中,需要适当进行纠错。

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

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

相关文章

Vovsoft Text Edit Plus 专业文本编辑器工具软件:简洁高效的创作利器

作为一名专业软件评测人员&#xff0c;我有幸使用了一款备受赞誉的文本编辑器工具软件——Vovsoft Text Edit Plus。在这篇评测中&#xff0c;我将客观、细致地分析它的实用性和使用场景&#xff0c;同时揭示它的优缺点&#xff0c;帮助您更好地了解这款软件。 第一部分&#x…

ROS2 从头开始:第 4 部分 - 使用 ROS2 组合构建强大的机器人系统

一、说明 组件编程是软件规模庞大后,有限的程序个体不能满足系统的动态扩张的系统设计方案。组件编程的首要用途就是计算机操作系统。而ROS2也是操作系统,动态扩大或缩减是必然存在的,因此需要组件实现。 组件编程的其它参考资料: 【BOOST C++】组件编程(…

01-http概述

HTTP概述 HTTP使用的是可靠地数据传输协议。HTTP属于应用层协议 Web客户端和服务器 web服务器&#xff1a;又称http服务器&#xff0c;用于存储web内容&#xff0c;并向web客户端提供web内容web客户端&#xff1a;用于请求web服务器的应用软件&#xff0c;常见为浏览器 资源…

Java实现word excel ppt模板渲染与导出及预览 LibreOffice jodconverter

Java Office 一、文档格式转换 文档格式转换是office操作中经常需要进行一个操作&#xff0c;例如将docx文档转换成pdf格式。 java在这方面有许多的操作方式&#xff0c;大致可以分为内部调用&#xff08;无需要安装额外软件&#xff09;&#xff0c;外部调用&#xff08;需…

SW线光源是真实的(点光源)

点光源在渲染下真实 点光源地板反射是对的

uni-app:获取元素宽高

效果 代码 这里我定义的宽为500px,高为200排序,控制台输出的结果是502,202。原因是我设置了上下左右宽度各为1px的border边框导致 核心代码分析 // const query uni.createSelectorQuery();表示创建了一个选择器查询实例。通过这个实例&#xff0c;你可以使用不同的方法来选择…

MYSQL——二、理论基础

Mysql 一、什么是数据库二、数据库管理系统(DBMS)三、数据库与文件系统的区别四、数据库技术构成及发展史1、技术构成2、发展史 五、常见数据库1、关系型数据库2、ACID原则3、关系型数据库的优缺点4、非关系型数据库5、非关系数据库的优点6、DBMS支持的数据模型7、运维对数据库…

C#中的for和foreach的探究与学习

一:语句及表示方法 for语句: for(初始表达式;条件表达式;增量表达式) {循环体 }foreach语句: foreach(数据类型 变量 in 数组或集合) {循环体 }理解 1.从程序逻辑上理解,foreach是通过指针偏移实现的(最初在-1位置,每循环一次,指针就便宜一个单位),而for循环是通

mac有必要用清理软件吗?有哪些免费的清理工具

当我们谈到Mac电脑时&#xff0c;很多人都会觉得它比Windows系统更加稳定和高效&#xff0c;也更不容易积累垃圾文件。但实际上&#xff0c;任何长时间使用的操作系统都会逐渐积累不必要的文件和缓存。那么&#xff0c;对于Mac用户来说&#xff0c;有必要使用专门的清理软件吗&…

十九,镜面IBL--BRDF积分贴图

再回顾下镜面部分的分割求和近似法 现在关注第二部分 最后可化为 也就是说&#xff0c;这两部分积分可以获得F0的系数和F0的偏差。 这两个值可以存储到BRDF积分贴图的RG部分。void main() { vec2 integratedBRDF IntegrateBRDF(TexCoords.x, TexCoords.y); FragColor …

react create-react-app v5 从零搭建(使用 npm run eject)

前言&#xff1a; 好久没用 create-react-app做项目了&#xff0c;这次为了个h5项目&#xff0c;就几个页面&#xff0c;决定自己搭建一个&#xff08;ps:mmp 好久没用&#xff0c;搭建的时候遇到一堆问题&#xff09;。 我之前都是使用 umi 。后台管理系统的项目 使用 antd-…

嵌入式Linux应用开发-第七章-野火-正点原子IMX6ULL的LED驱动程序

嵌入式Linux应用开发-第七章-野火-正点原子IMX6ULL的LED驱动程序 野火IMX6ULL的LED驱动程序7.4 野火/正点原子 IMX6ULL的 LED驱动程序7.4.1 原理图7.4.1.1 野火 fire_imx6ull-pro开发板7.4.1.2 正点原子 Atk_imx6ull-alpha开发板 7.4.2 所涉及的寄存器操作7.4.2.1 野火 fire_im…

2011 款宝马 318i 车发动机怠速游车、抖动

故障现象 一辆2011款宝马318i车&#xff0c;搭载N46B20E发动机&#xff0c;累计行驶里程约为9.5万km。该车因发动机怠速游车、抖动在其他维修厂维修&#xff0c;维修人员更换了火花塞、点火线圈、空气流量传感器、VANOS&#xff08;可变气门正时系统&#xff09;电磁阀、气门升…

竞赛无人机搭积木式编程(四)---2023年TI电赛G题空地协同智能消防系统(无人机部分)

竞赛无人机搭积木式编程&#xff08;四&#xff09; ---2023年TI电赛G题空地协同智能消防系统&#xff08;无人机部分&#xff09; 无名小哥 2023年9月15日 赛题分析与解题思路综述 飞控用户在学习了TI电赛往届真题开源方案以及用户自定义航点自动飞行功能方案讲解后&#x…

delphi 11 安装失败

delphi 11 安装遇到如下图&#xff1a; 解决方法&#xff1a; 以管理员身份重新安装&#xff01;&#xff01;&#xff01; 以管理员身份重新安装&#xff01;&#xff01;&#xff01; 以管理员身份重新安装&#xff01;&#xff01;&#xff01; 管理员身份&#xff01;&…

什么是数学建模(mooc笔记)

什么是数学建模 前提&#xff1a;我们数学建模国赛计划选择C题&#xff0c;故希望老师的教学中侧重与C题相关性大的模型及其思想进行培训。之后的学习内容中希望涉及以下知识点&#xff1a; logistic回归相关知识点。如&#xff1a;用法、适用、限制范围等。精学数学建模中常…

Kafka:介绍和内部工作原理

展示Kafka工作方式的简单架构。 什么是Kafka&#xff1f;为什么我们要使用它&#xff1f;它是消息队列吗&#xff1f; 它是一个分布式流处理平台或分布式提交日志。 Kafka通常用于实时流数据管道&#xff0c;即在系统之间传输数据&#xff0c;构建不断流动的数据转换系统和构…

WebPack5高级使用总结(三)

WebPack5高级使用总结 1、提升开发体检1.1、SourceMap1.2、使用 2、提升打包构建速度2.1、HotModuleReplacement2.2、oneOf2.3、Include/Exclude2.4、Cache2.5、Thead 3、减少代码体积3.1、Tree Shaking3.2、Babel3.3、Image Minimizer 4、优化代码运行性能4.1、Code Split4.1.…

038:mapboxGL 旋转地图(rotateTo)

第038个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中旋转地图。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共68行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:https://xiaozhuan…

科技资讯|AirPods Pro基于定位控制的自适应音频功能

在接受 TechCrunch 媒体采访时&#xff0c;苹果高管 Ron Huang 和 Eric Treski 谈到了关于 AirPods Pro 自适应音频&#xff08;Adaptive Audio&#xff09;功能的轶事&#xff0c;曾考虑基于 GPS 信号来控制自适应音频级别。 Treski 表示在探索自适应音频功能初期&#xff0…