上手GitHub Copilot让AI写代码,效率飞起!

1 GitHub Copilot介绍

GitHub Copilot 由 GitHub 和 OpenAI 共同开发的人工智能代码辅助工具,可自动地生成高质量代码片段、上下文信息等。通过自然语言处理和机器学习技术,通过分析程序员编写的代码、注释和上下文信息,自动生成代码,减轻程序员的工作量,节省开发者的时间和精力。

2 支持IDE

  • Visual Studio Code
  • IDEA

支持目前主流的多种编程语言:

  • Python
  • Java
  • JavaScript
  • Go
  • TypeScript …

3 使用前提

  • GitHub账号
  • 科学上网环境

4 注册 Copilot

打开浏览器,登录Github账号后,申请注册:

https://github.com/github-copilot/free_signup 

Copilot 需要付费使用,普通用户有30天试用期,但

4.1 学生认证

针对开源作者、学生、老师免费,如tb买的学生认证25块钱一年,含office正版激活/IDEA 全家桶正版激活等。

如满足免费使用条件的界面:

用过了的界面:

4.2 信用卡方式注册

5 安装插件和配置

5.1 IDEA

Preferences -> Plugins,搜索插件“GitHub Copilot” 安装

安装后重启IDEA。右下角会多一个copilot 的logo:

点击,需要你登录GitHub:

登录成功:

然后页面变成:

来到购买页面 https://github.com/settings/copilot:

https://github.com/github-copilot/signup:

填写信息:

支付信息:

联系信息:

授权信息:

成功,准备使用!https://github.com/github-copilot/signup/settings:

5.2 VS Code

搜索“Copilot”安装:

重启,登录 GitHub 帐户进行身份验证。

6 Copilot Chat

7 代码提示

Copilot 会根据上下文和语法规则,自动提示一些可能的代码片段。用 Copilot 提示的代码,只需“Tab”键即可将其插入当前光标。

在IDEA中使用Copilot,登录成功后就可以直接在编辑器窗口使用。如写一个邮箱校验函数,检查邮箱格式是否合法,直接点击右侧的Copilot机器人,就会弹出几个备选方案,双击 Accept solution 就可以把代码写入到文件中。

再比如果想写一个判断是否为整数的函数,只要把函数名写上(甚至只要写一半),Copilot就会自动提示,此时只要按Tab键,就可以补全代码,注意灰色部分是它给我的建议。

8 快捷键

  • 接受内联代码建议 Tab
  • 关闭内联代码建议 Esc
  • 显示下一个建议 Alt + ]
  • 显示上一个建议 Alt + [
  • 触发建议 Alt + \
  • 在右侧窗口中显示十个建议 Ctrl + Enter

9 Copilot 的优点与缺点

9.1 优点

  • 生成代码速度快:Copilot 使用先进的自然语言处理技术和机器学习算法,可以在几乎瞬间生成高质量的代码片段,节省开发者的时间和精力
  • 提高代码质量:由于 Copilot 生成的代码是基于机器学习模型的,它可以避免一些常见的错误,从而提高代码质量
  • 适应多种编程语言:Copilot 可以适应多种编程语言和框架,包括 Python、JavaScript、Ruby 等,为开发者提供了更多的选择
  • 可定制性强:Copilot 允许开发者自定义其提示行为,例如指定要使用的语言和框架、添加自定义代码片段和快捷键等
  • 不断学习进步:Copilot 是基于机器学习技术的,可以不断学习进步,提高其生成代码的准确性和质量

9.2 缺点

  • 科学上网
  • 有时会生成错误的代码:Copilot 生成的代码并不总是完全正确,有时需要开发者自己对其进行修改和调整
  • 安全性问题:由于 Copilot 是基于机器学习技术的,因此可能会存在一些安全性问题,例如泄漏敏感信息等
  • 不支持所有编程语言和框架:尽管 Copilot 可以适应多种编程语言和框架,但仍有一些不支持的编程语言和框架

10 总结

GitHub Copilot 是一款非常有用的代码提示工具,可以帮助开发者更快速、更高效地编写代码。它具有许多优点,例如生成代码速度快、提高代码质量、适应多种编程语言和框架等,但仍存在一些限制,例如有时会生成错误的代码。因此,在使用 Copilot 时,开发者需要根据实际情况权衡其优缺点,以便更好地使用这个工具。

GitHub Copilot 官网文档:

https://docs.github.com/zh/copilot

当然,GitHub Copilot 不仅仅能够帮你生成代码片段,也可帮你生成测试等。GitHub Copilot 公开课地址:

http://gk.link/a/11ZDr

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【JAVA】UDP与TCP套接字编程

目录 一、UDP数据报套接字编程 1、DatagramSocket API 2、DatagramPacket API 3、InetSocketAddress API 4、示例一 5、示例二 二、TCP流套接字编程 1、ServerSocket API 2、Socket API 3、TCP中的长短连接 4、示例一 5、示例二 一、UDP数据报套接字编程 1、Datag…

山岭隧道及道路3D建模教程【Blender】

创建具有恒定坡度的山路、隧道的信息和技术似乎散布在互联网上。 在这篇文章中,我将它们全部收集在一起。 这篇文章的大纲如下: 创建一座山创建一条路挖一条隧道 道路的坡度将固定为常数,从而消除颠簸。 NSDT工具推荐: Three.j…

yolo-驾驶行为监测:驾驶分心检测-抽烟打电话检测

在现代交通环境中,随着汽车技术的不断进步和智能驾驶辅助系统的普及,驾驶安全成为了公众关注的焦点之一 。 分心驾驶,尤其是抽烟、打电话等行为,是导致交通事故频发的重要因素。为了解决这一问题,研究人员和工程师们…

Nginx目录浏览

类似 在nginx的配置文件中的server内配置,想给哪个网站开启,就在该网站的server中配置 server {listen 81;server_name localhost;autoindex on; # 开启目录浏览功能。autoindex_exact_size off; # 显示文件大小的时候带单位location / {root …

美国站群服务器的SEO优化策略助力提升网站流量?

美国站群服务器的SEO优化策略助力提升网站流量? 在当今数字化时代,网站的成功与否与其在搜索引擎结果页面上的排名密切相关。对于那些利用美国站群服务器运营多个网站的企业来说,通过SEO优化策略提升网站流量成为了至关重要的任务。然而,要…

最大层内元素和

题目链接 最大层内元素和 题目描述 注意点 返回层内元素之和 最大 的那几层&#xff08;可能只有一层&#xff09;的层号&#xff0c;并返回其中 最小 的那个树中的节点数在 [1, 10000]范围内-10^5 < Node.val < 10^5 解答思路 广度优先遍历树&#xff0c;使用队列存…

如何有效地进行汽车制造业文件共享,一文了解

随着数字化转变&#xff0c;企业的业务文件大多通过电子形式在内外部流转。这增加了外发文件数据泄露或被篡改的风险&#xff0c;如何保护外发文件安全已成为企业不容忽视的课题。其中汽车制造业是一个高度依赖文件共享与协作的行业&#xff0c;涉及设计图纸、技术文件、供应链…

TI API ,详情见ti.com

TI API &#xff0c;详情见ti.com TI API 接口开发&#xff0c;实现货品查询、查询订单、自动下单、抢购等功能。

Open Footprint®论坛数据模型Snapshot发布,与您全‘绿’以赴!

正值第55个“&#x1f30d;世界地球日”&#xff0c;The Open Group Open Footprint论坛很高兴地正式宣布《Open Footprint数据模型Snapshot》”的可用性。我们的期望是&#xff0c;一旦被广泛采用&#xff0c;数据模型将大大缓解内部以及范围3排放数据共享问题&#xff0c;有效…

IntelliJ IDEA2020下使用Maven构建Scala 项目

1.创建maven文件 2.进入pom.xml导入依赖 <!--添加spark的依赖--><dependency><groupId>org.apache.spark</groupId><artifactId>spark-core_2.12</artifactId><version>3.2.1</version></dependency><!--添加scala依…

羊大师解析,夏日消暑羊奶来帮忙

羊大师解析&#xff0c;夏日消暑羊奶来帮忙 炎炎夏日&#xff0c;烈日当空&#xff0c;人们总是寻找各种方式来消暑降温。除了常见的冷饮、空调等&#xff0c;其实还有一种天然、健康的饮品可以帮助我们度过酷暑——那就是羊奶。 羊奶作为一种营养丰富的天然饮品&#xff0c;不…

一文带你掌握yaml文件的使用

在自动化测试数据存储中&#xff0c;比较常见的有csv、json、excel文件等&#xff0c;可能大家忽略了另外一个非常简单、好用的&#xff0c;而且更简洁的文件&#xff0c;那就是咱们今天的主角yaml文件。 yaml文件是一种数据序列化语言&#xff0c;其良好的跨语言、跨平台、易…

CST电磁仿真软件的激励设置和使用场导入【基础教程】

设置平面波激励 确认平面波的特性&#xff01; Simulation > Sources and Loads > Plane Wave 通过Plane Wave在远离观测对象的位置接通场源(Field Source)&#xff0c;进行入射波的仿真分析该功能主要在RCS(Radar Cross Section)和EMS(Electromagnetic Susceptibilit…

vuex数据永久存续

第一步下载 vuex 并创建store下js文件 第二步 npm install vuex-persistedstate 第三步 引用 vuex-persistedstate 配置 plugins 项 import createPersistedState from vuex-persistedstateplugins:[createPersistedState({//存储方式&#xff1a;localStorage\sessionStor…

Linux - tar (tape archive)

tar 的全称是 Tape Archive。它最初是在 Unix 系统中用于将数据写入磁带的工具&#xff0c;但现在它通常用于创建、维护、修改和提取文件的归档文件。尽管 tar 可以用于压缩和解压缩文件&#xff0c;但它本身并不进行压缩&#xff0c;而是通常与 gzip 或 bzip2 等压缩工具一起使…

阿赵UE学习笔记——29、Niagara制作火焰效果

阿赵UE学习笔记目录 大家好&#xff0c;我是阿赵。   继续学习虚幻引擎&#xff0c;之前简单介绍了Niagara粒子系统&#xff0c;这次用Niagara系统做一个火焰的效果。 一、创建发射器 和之前介绍的一样&#xff0c;先创建一个空白的发射器&#xff1a; 我把这个发射器命名为…

如何利用亚马逊云科技上的Amazon Bedrock构建负责任的AI?

AI安全是最近非常热门的话题&#xff0c;无论是训练数据全生命周期保护、模型安全、AI安全与合规等&#xff0c;今天我们来介绍一个新兴的AI安全话题—负责任(Responsible)的AI 1️⃣什么是负责任的AI&#xff1f; 所谓负责任&#xff0c;就是通过构建AI治理框架&#xff0c;让…

【运营】画像-分析方法

画像&#xff0c;是建立在真实数据基础上的主体代表。 1.分析 现在手上有一些原始数据&#xff0c;需要通过分析来展现出主体真实的使用情况&#xff0c;因为我们是新能源行业&#xff0c;所以这次就拿放电设备的电池、充电设备的机柜、使用电池的用户三个角度来讨论一下如何从…

Fork for Mac v2.42 激活版 Git客户端

Fork for Mac是一款运行在Mac平台上的Git客户端&#xff0c;Fork Mac版具备基本的取、推、提交、修改、创建和删除分支和标签、创建和删除远程备份等功能&#xff0c;还有实用的差异查看器&#xff0c;你可以通过清晰的视图快速发现源代码中的更改。 Fork for Mac v2.42 激活版…

旅游网站制作流程

旅游网站制作流程是一个较复杂的过程&#xff0c;因为它需要结合市场调研、用户需求、内容构建、技术开发等多个方面。在这篇文章中&#xff0c;我将简单介绍一下旅游网站的制作流程&#xff0c;大致分为以下步骤。 第一步&#xff1a;市场调研 在制作旅游网站前&#xff0c;我…