GitHub Copilot 使用技巧

7,504 阅读3分钟

前言

GitHub Copilot 是一种人工智能代码编写工具,它可以根据上下文建议代码。这是一项非常有用的工具,可以帮助开发人员更快地编写代码。之前的文章已经介绍了如何注册激活 copilot。在本文中,我们将介绍 几个使用 GitHub Copilot 的必备技巧。

快捷键使用

Copilot 也提供了一些快捷键,可以很方便地使用。

快捷键说明
Tab接受建议
Esc拒绝建议
Ctrl + Enter会打开一个单独的面板,展示10个建议
Alt/Option + ]下一条建议
Alt/Option + [上一条建议
Alt/Option + \触发行内建议
cmd + ->逐个单词提示确认

您也可以选择在工具栏中显示快捷键。

// setJsonToUrl方法
// 输入参数: json
// 处理过程: 将json对象转换成url参数
function setJsonToUrl(json) {
	return Object.keys(json).map(key => `${key}=${json[key]}`).join('&');
}

image.png

更具体的需求参数、返回参数

GitHub Copilot 可以根据您的输入推荐代码。

例如,如果您输入以下需求,Copilot 可以为您提供相应的代码。

// isImg 判断url是否为图片类型

image.png

先写好上下文

在一个完整的上下文环境下,输入简单的需求,就能自动完成代码!

// 写一个函数 downloadFileFn
// 输入参数: file, fileName
// 处理过程: 使用isImg判断file是否是图片类型, 如果是, 则下载. fileName是下载后的文件名
// 每行代码都写上中文注释
// 输出结果: 无

image.png

让 copilot 学习你的代码

您的 VS Code 打开项目后,GitHub Copilot 就开始学习您的代码了,然后才能提示您适合的代码。

为了得到好的提示,您的项目需要做好以下几点。

  • 层次结构清楚
  • 细致的拆分
  • 目录、文件命名规范
  • 代码分段落
  • 合理的代码抽取

咱们公司 目前的系统使用的模块大致一致,公用代码为以下模块,对 Copilot 来说 这样的项目是比较丰富的,它会去学习里面的内容

image.png

写算法函数

写算法还是比较快捷的,咱们前端的一些算法,使用 Copilot 基本都可以实现的,我们需要做的就是对这个算法有一个大致的了解即可,不需要刻意的去背它,它所返回的都是github 比较优秀的实例,无需我们做过多的检验。

爬楼梯 climbStairs 

image.png

写测试用例

输入以下内容,即可使用 GitHub Copilot 生成测试 climbStairs 的代码。

//  测试 climbStairs
//  输入: 3

写注释

// 写注释
/// [carNo] 车牌号
function findAll(
	carNo,
	length,
	matCustom,
	matThickness,
	materialModel,
	materialTypeCode,
	pageNum,
	pageSize,
	quantity,
	specs,
	storageName,
	warehouseGate,
){

}

换行自动提示参数

image.png

自动填词

帮你水文字

image.png

写 list 序列

image.png

写翻译

格式

english: xxxxxxxxxxxxxx
chinese: 

// 翻译一下 Vben github 的一段介绍

english: Vue Vben Admin is a free and open source middle and back-end template. Using the latest vue3, vite2, TypeScript and other mainstream technology development, the out-of-the-box middle and back-end front-end solutions can also be used for learning reference.

chinese:

image.png

常见问题

  1. GitHub Copilot 可以替代开发人员吗?

    不可以,GitHub Copilot 只是一种代码编写工具,需要由开发人员编写和测试代码。

  2. GitHub Copilot 可以在所有编程语言中使用吗?

    不是的,GitHub Copilot 目前仅支持少数编程语言,例如 Python、JavaScript 和 TypeScript。

  3. GitHub Copilot 提供的代码是否都是高质量的?

    不一定,GitHub Copilot 提供的代码只是建议,需要开发人员进行审核和测试。

  4. GitHub Copilot 是否需要收费?

    目前 GitHub Copilot 开始收取费用。

  5. 在什么 IDE 中可以使用 GitHub Copilot?

    GitHub Copilot 可以在 VSCode、 Vim 和 JetBrains IDE(例如 IntelliJ IDEA 和 PyCharm)中使用。