github copilot最强使用攻略

github copilot

年初的时候,就听说了Copilot这个插件,但是一直没有去尝试使用。直到最近才去尝试使用,比较了其它几款ai相关插件,总的来说copilot使用体验非常不错。

网上也有大量的介绍copilot的文章,但是对使用技巧介绍不算特别多,自己尝试总结下,希望本文能帮助到大家。

1. 什么是copilot?

GitHub Copilot 是由 GitHub 和 OpenAI 共同开发的人工智能代码辅助工具,俗称:副驾驶,通过插件的方式安装到编辑器(vs code)后,可以帮我们自动补全代码、根据注释生成代码、解释代码、生成测试代码、生成注释等等。

2. 为什么有了GPT还需要copilot?

我们已经可以直接向GPT提问,为啥还需要copilot;

  1. copilot内嵌到vs code编辑器中,无需离开我们的代码编写环境就能提问、处理、生成代码(省去把问题或者GPT的回答来回粘贴的繁琐)
  2. copilot生成的代码更贴近项目(它是基于项目当前代码上下文生成的),因此能生成基于当前项目代码风格的代码,可移植性更高。

3. 如何安装?

在编辑器,这里主要说的是vscode编辑器中,安装两个插件:

  1. github Copilot
  2. github copilot Chat

插件安装好后,需要注册登录,登录方式是通过github账号授权登录。

3.1 注意1: github开启使用

需要注意的是,授权登录的时候需要到您的github账号settings > billing and plans > plans and usage找到github copilot 然后enable Copilot Copilot

3.2 注意2: 编辑器中开启配置代理

Copilot Copilot需要用到代理,在vscode中,通过settings 搜索proxy下配置就行。

3.3 费用问题

copilot是收费的,对于第一次使用,首月免费,然后订阅费用是10美元一个月,按年是100美元。 对于我们普通打工人来说还是稍微贵了点,不过我们有其它便宜的途径。

比如找:x宝、x鱼啥的,他们有提供学生包,不过不太推荐,这种有封github账号的风险,如果实在是要用,那么我建议你用一个子账号,不要用你的主账号。

当然,如果您对这些不太放心,也可以私下找我,推荐一个更靠谱的资源。

4. 使用技巧

好啦!说了这么多终于来到了最重要的环节,如何使用?

总的来说,使用有两大区域块:

  1. chat区域,直接在聊天框中输入你的问题(PS: 你可以选中你的代码行,这样问问题的时候,它会根据你的代码行生成更可靠的答案)
  2. 编辑器文件中(比如:自动提示、注释生成代码等等)

我们的所有使用场景,其实都是在上面两大区域完成的。理论上而言,chat区域可以完成所有功能,只是编辑器文件中,更友好点而言:

通常而言,chat区域生成的内容会多一点,全面点。

下面我们具体使用点

4.1 自动建议(Tab)

这种最简单,你在写代码的时候它自动的给你提示,提示的内容是灰色的,您可以按下Tab键接受建议, 通过Esc键丢弃提示。

如果对自动建议不满意,可以切换:

  • alt(option) + ] 下一条建议
  • alt(option) + [ 上一条建议

4.2 注释生成代码

这是最强大、也是最使用的功能之一。 您可以先写一段注释,写的越详细,它生成的代码就越满足您的要求。

方式1: 一般而言你写完注释后,它在下一行它会有自动提示,如果没有自动提示。你可以通过alt(option) + \来触发自动提示。

方式2: 另外一种更好的方式是,此时按下ctrl + enter输出十种代码实现,哪种好,接受那种就行。 这种方式非常推荐!!!

当然你也可以直接在chat中直接问。

4.3 解释代码

这对于你看代码来说,真的太方便了,不熟悉的语法知识点啥的随便问。 有几种方式:

方式1 选中要解释的代码,在chat聊天框中输入/explain 如果要按照中文解释,多写一些字比如:/explain 用中文解释

方式2 选中要解释代码,右键copilot > explain this PS: 比较快捷,但是默认输出方式是英文

4.4 生成测试

前面的解释代码的方式一、方式二,换成/tests generate tests即可

4.5 行内操作

所有的解释、生成代码、测试、fix等都可以在行内操作进行。

所谓行内,就是在不离开编辑器文件代码的的情况下操作,这个时候只需要按comand + I这个时候会当前光标所在的行展示一个输入框,在输入框可以提问,也可以输入/explain``/tests等等。

有时候对自动生成的代码不满意,可以选中代码,对它提要求,可以在行内操作完成。

4.6 q/a对话

在任意代码文件中输入注释符号,然后输入q: 后跟一个问题,比如// q: xx问题, 在下一行中输入// a: copilot会提供最简短的回答内容。

当前还没感觉到这个可以用来做啥。

4.7 chat聊天区域扩大

如果我们嫌chat区域不够大,又或者我想用这个chat聊天来学习,如果始终还是在左侧区域那么久显得非常小了,我们可以点击chat顶部的三个点扩大后使用,变大了非常爽!

4.8 快捷键总结

  1. alt(option) + \ 手动触发提示
  2. alt(option) + ] 下一条建议
  3. alt(option) + [ 上一条建议
  4. ctrl + enter 十种代码实现
  5. comand + I 行内操作
相关推荐
Redstone Monstrosity16 分钟前
字节二面
前端·面试
东方翱翔23 分钟前
CSS的三种基本选择器
前端·css
Fan_web1 小时前
JavaScript高级——闭包应用-自定义js模块
开发语言·前端·javascript·css·html
yanglamei19621 小时前
基于GIKT深度知识追踪模型的习题推荐系统源代码+数据库+使用说明,后端采用flask,前端采用vue
前端·数据库·flask
千穹凌帝1 小时前
SpinalHDL之结构(二)
开发语言·前端·fpga开发
Adolf_19931 小时前
Flask-JWT-Extended登录验证, 不用自定义
后端·python·flask
dot.Net安全矩阵1 小时前
.NET内网实战:通过命令行解密Web.config
前端·学习·安全·web安全·矩阵·.net
叫我:松哥1 小时前
基于Python flask的医院管理学院,医生能够增加/删除/修改/删除病人的数据信息,有可视化分析
javascript·后端·python·mysql·信息可视化·flask·bootstrap
海里真的有鱼1 小时前
Spring Boot 项目中整合 RabbitMQ,使用死信队列(Dead Letter Exchange, DLX)实现延迟队列功能
开发语言·后端·rabbitmq
Hellc0071 小时前
MacOS升级ruby版本
前端·macos·ruby