DingMing

丁大铭的个人空间,用来分享一些前端小技巧,默默成长吧,哈哈

Github Copilot 使用体验

  |  
 阅读次数

GitHub Copilot 到底是什么?

GitHub Copilot 是由 Github 和 OpenAI 创造的 AI 工具。该工具通过自动代码补全来帮助程序员们编写代码。Visual Studio Code、Neovim 和 JetBrains 的用户已经可以使用这个插件了。
GitHub Copilot 基于 OpenAI Codex 模型,经过自然语言和数十亿行公共源码的训练,其中来源包含 Github 上的项目。
该工具能为你编写代码或提供替代的解决方案。该服务支持所有的编程语言,但在 Python、JavaScript、TypeScript、Ruby、Java 和 Go 语言中表现得最为出色。

如何使用?

Github Copilot 现在仍在技术预览的状态下;这只对部分的测试者开放。要想加入等候名单,见  copilot.github.com
在使用 GitHub Copilot 之前,你首先得下载 Visual Studio Code 插件

  1. 在 Visual Studio Code Marketplace(或 JetBrains Marketplace)里浏览 GitHub Copilot 插件页面并下载该插件;
  2. 打开 Visual Studio Code,你会被提示登录 GitHub 并授权该插件;
  3. 授权插件之后,Github 会带你返回到 Visual Studio Code。
    安装完成后,创建一个新的文件,你就可以开始编写你的代码了。

举例:

  1. 创建一个新的 JavaScript 文件(.js);
  2. 声明函数,等待魔法的发生。 就这么简单。如果你不喜欢建议的代码,你也可以使用快捷键切换选项。

可用性

我将从缺点开始讨论,因为可讨论的缺点不多,并且以积极的态度结束文章总是更令人愉快。

缺点

首先,我想提一下上方 GIF 中的问题 —— 在使用 Copilot 后,我每次都要手动去除多余的括号。我时不时都要这样做,尤其是在编写条件或函数的时候。
第二个问题是关于 HTML。我知道 HTML 不是支持的语言之一,但在默认情况下,Github Copilot 每次都会建议代码。或许是我编写的布局太难以预测了,亦或是我倒霉,但我从来没有收到可用的代码补全。
这些就是我想说的了。现在我们来聊聊它的优点,因为它真的像是“魔法”。

优点

Github Copilot 带来的最大的价值是节省你查阅文档的时间。举例来说,在处理键盘事件时,你是否记得方向键的键码?我可不记得。幸运的是,有了 Copilot,你就不必记住或上网搜索这些键码了。反之,你只需要将你的需求写成注释即可。

此外,你也不需要搜索公式,如华氏度和摄氏度之间的转换

Copilot 不仅适用于常用的函数,它能完美地识别文件上下文并利用现有的变量和函数来实现代码补全。

使用 Github Copilot 编写 API 服务类:

Copilot 建议了包含方法的整个类。当我修改构造器并添加 host 和 JWT 字符串时,它也能依据这些变量建议 GET 和 POST 方法。
它也能识别一个 JWT 变量名并理解如何使用它。它添加了一个请求头:“Authorization”: “Bearer “ + this.jwt。
最后,然我们看看它是如何在类之间运作的。举例来说,Copilot 能分析导入/现有的方法并再利用这些方法,无论它们是否在同一个类或 Object 中。

引用地址:
Github Copilot: Review After 3 Months of Usage with Examples