前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >AI智能代码助手 Github Copilot Labs

AI智能代码助手 Github Copilot Labs

作者头像
Tinywan
发布2023-09-18 08:54:15
发布2023-09-18 08:54:15
2.4K00
代码可运行
举报
文章被收录于专栏:开源技术小栈开源技术小栈
运行总次数:0
代码可运行

介绍

GitHub Copilot

Copilot是GitHub 和 OpenAI 合作开发的一款人工智能代码助手,它可以根据用户输入的注释和代码片段,自动生成高质量的代码。Copilot使用了OpenAI的GPT模型,可以学习和理解大量的代码库和文档,从而生成符合用户需求的代码。Copilot可以与多种编程语言和开发环境集成,包括Python、JavaScript、TypeScript、Go、PHP 等。

Copilot的优点在于它可以帮助开发者快速生成高质量的代码,减少开发时间和工作量。Copilot还可以提供实时的代码建议和错误检查,帮助开发者避免常见的编程错误和陷阱。Copilot还可以学习和适应用户的编程风格和习惯,从而提供更加个性化的代码建议和支持。

Copilot是一款非常优秀的人工智能代码助手,它可以帮助开发者快速生成高质量的代码和提供实时的代码建议和错误检查。与其他类似产品相比,Copilot的优点在于它可以学习和适应用户的编程风格和习惯,从而提供更加个性化的代码建议和支持。

GitHub Copilot Labs

GitHub Copilot Labs是 GitHub 推出的一项人工智能代码提示工具,它使用机器学习模型来生成自然语言描述的代码片段,可以帮助开发者更快速地编写代码和提高开发效率。

GitHub Copilot Labs 利用了大量的开源代码库,通过训练深度学习模型来自动生成代码。开发者只需要在代码编辑器中输入少量的自然语言描述,Copilot 就可以推荐出一些可能的代码实现。这些代码实现可以是完整的函数、类、表达式等,也可以是一些常见的代码片段。

开发者可以对生成的代码进行修改和优化,以适应自己的需求。

安装

GitHub Copilot

可以通过在首选的环境中安装扩展来开始使用 GitHub Copilot。

image

GitHub Copilot 与以下 IDE 兼容:

  • IntelliJ IDEA(旗舰版、社区版、教育版)
  • Android Studio
  • AppCode
  • CLion
  • Code With Me Guest
  • DataGrip
  • DataSpell
  • GoLand
  • JetBrains Client
  • MPS
  • PhpStorm
  • PyCharm(专业版、社区版、教育版)
  • Rider
  • RubyMine
  • WebStorm

安装文档

https://docs.github.com/zh/copilot/getting-started-with-github-copilot?tool=jetbrains

Github Copilot Labs

GitHub Copilot Labs 插件目前只支持 Visual Studio Code 编辑器

image

官网地址:https://githubnext.com/projects/copilot-labs。

如何使用Github Copilot Labs这个工具

注:

  1. 首先确保你已经安装了Github copilot机器人,并且能正常使用它。
  2. Github Copilot Labs目前还是测试版,需要申请才可以使用,请先申请试用。
  3. 然后再Visual Studio Code 编辑器 的扩展中心搜索 github copilot labs 安装即可

点击注册完成即可使用

image

授权同意后

image

Github Copilot Labs 功能

Github copilot labs目前还是测试版,还在不断完善中。

代码语言:javascript
代码运行次数:0
复制
 主要包含以下功能

* 代码自动生成:输入一些关键字和上下文,Copilot 可以自动生成完整的代码片段。

* 代码补全:在编辑器中输入代码时,Copilot 可以提供相应的建议,并根据上下文自动补全代码。

* 语言翻译:Copilot 可以将一种编程语言的代码翻译成另一种编程语言的代码。

* 代码注释:Copilot 可以根据代码的上下文自动添加注释,提高代码的可读性。

* 代码重构:Copilot 可以根据代码的结构和语法规则,对代码进行优化和重构,提高代码质量。

* 代码审查:检查你的代码中可能包含的错误,帮助修复潜在的bug。

* 自动单元测试。

实现一个自定义函数

代码解释

目前使用Github Copilot labs主要可以帮助我们翻译代码,比如你不懂python,看见一段python代码,你可以让它帮你解释一下这段代码的具体含义。

EXPLAIN 预设选项。

Custom

自定义,就是指定 Copilot 生成自己想要的注释,可以充分发挥自己的想象,具体用法看后面几个选项就能清楚了。

Explain code

不同选项的唯一区别其实就是中间 Advanced 部分,每一个选项都对应了不同的 Prompt,当然你也可以自己修改(Custom 选项就是 Prompt 为空)。期望使用中文解释 explain in Chinese

非常明显,逻辑就是针对你选中的代码,用 Prompt 里的问题让 Copilot 给出回答。

Cods does following

和上一个选项差不多,回答会更详细

代码语言:javascript
代码运行次数:0
复制
    /* The code above does the following explained in Chinese:
    1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
    2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
    3.针对所有的元素重复以上的步骤,除了最后一个。
    4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 */
Show example code

调用此函数的示例

自定义

看了上面几个预设,想必大家都有了自定义的思路了,比如

直接用中文提问

优化代码,如多以上代码使用强类型限制

以下是对以上代码的解释,使用强类型限制:

  1. 声明函数bubbleSort,使用关键字function
  2. 参数$arr是一个数组,使用array限制
  3. 函数返回值是一个数组,使用array限制
  4. 使用foreach遍历数组,取出数组的每一个值,赋值给$v
  5. 使用count函数获取数组的长度,赋值给$len
  6. 使用for循环,从1开始循环,到$len结束
  7. 使用for循环,从0开始循环,到
len-

i结束

  1. 使用if语句,比较
arr[

j]和

arr[

j+1]的值,如果

arr[

j]的值大于

arr[

j+1]的值,执行if语句内的代码

  1. 使用
tmp变量保存

arr[$j+1]的值

arr[

j+1]的值赋值给

arr[

j]

tmp的值赋值给

arr[$j+1]

  1. for循环结束
  2. for循环结束
  3. 函数bubbleSort结束

LANGUAGE TRANSLATION

这个功能很好理解,就是翻译不同的代码语言,例如把 PHP 翻译成 Lua.

BRUSHES

终于来到了我们的重头戏「画笔」。选中代码,再选中对应功能的「笔」,就可以给这部分代码加上其功能。

READABLE 加强可读性

例如一个写得很烂的方法,READABLE 之后就有了更高的可读性。如果不满意本次结果,你可以撤销重新执行,或者可以对优化过的代码再次优化达到你想要的最终结果。:::

image

ADD TYPES 添加类型
FIX BUG 修复 bug
DEBUG 方便 debug

自动添加输出,方便 debug

LIST STEPS

注释每一句代码

MAKE ROBUST

提高代码健壮性

CHUNK

拆分代码

TEST GENERATION

最后一个功能是生成测试用例,并且可以只点击 Run this test 测试(要求当前工作区或者全局有对应的依赖)

只可惜,该功能目前只支持 JS

在Copilot X还未到来之际,我们可以使用 Copilot + Cursor先过渡一下,当然Copilot labs 里面很多功能未来会正式运用到 Copilot X中。

小结

整个体验下来,其实功能并没有多新鲜,特别是在 ChatGPT 3.5 已经出现的情况下,上述所有功能都可以通过和 ChatGPT 对话来完成。但是实际 coding 过程中,你得把代码复制到对应的页面(当然,大部分 ChatGPT 插件也有了很多类似的预设提问),生成的结果需要你粘贴回来,或者说预设的提问其实并没有那么实用...

而 GitHub Copilot Labs 给这些问题提供了一个比较好的解决方案,使用起来更无感,预设更实用。但无论是哪个工具,都已经完全改变了我的编码习惯。

以前需要写一个复杂方法,肯定是打开搜索引擎,然后找参考,找到了还得一行行看是不是靠谱,如果找不到或者只有一部分满足需求,几乎都得自己重写。一不小心半天就过去了

现在,只用几行注释、几个说明、定义几个出入参数。就可以自动生成我想要的方法,针对不满意的地方也可以局部再生成。代码、类型、文档、单测一整套下来都花不了 10 分钟

我们对于 AI 工具,已经不能只满足于看几篇文章然后表示一下赞叹又或是上手体验个几分钟了。而是应该像学习使用 IDE、使用 GIT、学习写代码一样来学习 AI 工具的使用

AI 改变的工作和生活,已经不是未来而是现在,甚至已经是过去了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-23 12:08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
    • GitHub Copilot
    • GitHub Copilot Labs
  • 安装
    • GitHub Copilot
      • GitHub Copilot 与以下 IDE 兼容:
      • 安装文档
    • Github Copilot Labs
      • 如何使用Github Copilot Labs这个工具
      • Github Copilot Labs 功能
      • 实现一个自定义函数
      • 代码解释
      • EXPLAIN 预设选项。
      • 自定义
    • LANGUAGE TRANSLATION
    • BRUSHES
  • 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档