目录
GitHub Copilot 是一个 AI 结对程序员,可在您编码时提供自动完成风格的建议。您可以通过开始编写要使用的代码或编写描述您希望代码执行的操作的自然语言注释来接收来自 GitHub Copilot 的建议。 GitHub Copilot 会分析您正在编辑的文件以及相关文件中的上下文,并从文本编辑器中提供建议。GitHub Copilot 由 GitHub、OpenAI 和 Microsoft 开发的生成式 AI 模型提供支持。
GitHub Copilot 针对公共仓库中出现的所有语言进行了训练。对于每种语言,您收到的建议质量可能取决于该语言的训练数据的数量和多样性。例如,JavaScript 在公共存储库中得到了很好的体现,并且是 GitHub Copilot 支持的最佳语言之一。在公共存储库中代表性较少的语言可能会产生较少或不太可靠的建议。
GitHub Copilot 在 Visual Studio Code、Visual Studio、Vim、Neovim、JetBrains IDE 套件和 Azure Data Studio 中作为扩展提供。
GitHub Copilot 是一项付费功能,需要按月或按年订阅。GitHub Copilot 订阅可以通过 Copilot 个人帐户 GitHub.com 个人帐户支付和管理,也可以通过 GitHub Copilot Business 的组织帐户进行支付和管理。
如果你是学生,可以申请Github学生包免费使用GitHub Copilot,申请教程可以参考我的另一篇博客https://blog.csdn.net/manfanying/article/details/135893672?spm=1001.2014.3001.5501
申请后可以点击链接Request a discount - GitHub Education进行查看是否申请成功,如果是绿色的Approved则表示申请成功。
注意申请成功后并不代表你就可以使用GitHub Copilot,需要官方申请通过后才可以使用,通过后
绿色的Approved会变成紫色如下图:
此时我们便可以使用 GitHub Copilot了。这篇文章我以在Pycharm中使用GitHub Copilot为例说一下GitHub Copilot的使用方法。
1.在Pycharm下载GitHub Copilot插件
首先点击Pycharm主页中的File下的Setttings
接着点击Plugins,Marketplace,在搜索框中输入GitHub Copilot搜索插件,最后点击install下载即可
2.使用Github账号授权
下载GitHub Copilot之后需要重启Pycharm,重启之后会弹出登录Github账号的界面,此时登录你已经申请Github学生包的账号即可。
按照指示进行授权,
然后一直点击下一步即可。
3.在Pycharm中使用GitHub Copilot
当你在Pycharm中看到这个图标后表示你已经可以使用GitHub Copilot了
点击该图标选择Edit Settings可以更改GitHub Copilot的一些设置。
3.使用GitHub Copilot
3.1 接受或者拒绝代码建议
当我写了一个日期转换的代码,但是我想把它封装为函数以方便使用,此时当我输入def time后GitHub Copilot便根据代码上下文为我进行了代码补全(灰色字体代码即是补全的代码),此时我只需要按下键盘上的Tab键即可接受建议,不得不说真的是太方便了。如果不想接受建议可以按Esc键。
3.2 查看下一个建议
如果你对GitHub Copilot给的建议不太满意,你还可以按下键盘上的Alt + ]查看下一个建议 ,如果你对这条建议比较满意同意也是按Tab健进行补全即可。
3.3 接受部分建议
还有的时候你不想接受GitHub Copilot给的全部建议,而是只想接受部分建议,剩下的自己写,这时你可以按Ctrl + →来接受下一个字词
或者按 Ctrl + Alt + →来接受下一行建议
3.4 根据注释生成代码建议
我觉得GitHub Copilot最厉害的还是根据你写的注释给出代码建议,这个功能可能会用在当你想写代码解决一个实际问题时,脑子里没什么思路,这时GitHub Copilot会根据你的注释生成建议,如果你觉得它给的代码建议已经非常好了,你可以直接用,或者你可以根据它的思路引导出更好的思路。
就还是拿日期时间格式转换的例子来讲吧,我先把我的需求写成注释 然后回车,
此时GitHub Copilot可能不会一下子给出你全部建议,它会引导你接受全部建议,此时你可以先按Tab再回车 ,
重复这个步骤直到完成需求
有的时候它会一下子给出你全部建议(我猜测是当写函数块时,它会一下子给出你全部建议),比如我想实现冒泡排序时。
4.Github Copilot Chat的使用
在使用Github Copilot的同时,你还可以申请使用Github Copilot Chat,GitHub Copilot Chat 是一个聊天界面,可让你与 GitHub Copilot 交互,以在 GitHub.com 和支持的 IDE 中询问和接收与编码相关的问题的答案。聊天界面提供对编码信息和支持的访问,而无需浏览文档或搜索在线论坛。
GitHub Copilot Chat 可以回答各种与编码相关的问题,主题包括语法、编程概念、测试用例、调试等。GitHub Copilot Chat 并非旨在回答非编码问题或提供有关编码之外主题的一般信息。
GitHub Copilot Chat 的工作原理是结合使用自然语言处理和机器学习来理解您的问题并为您提供答案。
当你配置好Github Copilot后,你的右侧边栏会相应的多一个Github Copilot Chat选项
这个也需要申请,但是这个申请比较简单,你只需要点击申请加入候补名单即可,通过后会给你发邮件,这个审核时间比较长可能需要一两个星期也可能是过年审核人员放假了哈哈哈,大家耐心等待即可。
申请通过后就可以使用了,听说这个Github Copilot Chat用的是Gpt4,本来想用在网上看到的测试是不是GPT4的问题测试一下,但是人家说只回答开发者相关的技术问题哈哈哈,如果你想用Gpt4来问一些不是关于开发者相关的技术问题你可以参考我的另一篇文章来白嫖Gpt4字节聊天机器人Coze的使用(包括创建自己的聊天机器人免费使用GPT-4,GPT-4 turbo)_coze工作流试运行通过后无法发布-CSDN博客
但是关于代码的问题我觉得它的回答还是不错的,你可以让它给你写的代码提一些好的建议,也可以让它给你改Bug。
还有就是Github Copilot Chat是自动基于当前你打开的代码片段来回答问题的,比如我并没有给他代码片段我就问他这段代码是干什么的,但是因为我打开了start.py文件,所以他回答的是start.py文件里面代码的用途。
当然这也并不代表它只会回答你关于该代码文件的问题,其他的问题只要是关于开发者技术的问题都是可以的。