GitHub Copilot 简单使用

因为公司安全原因,并不允许在工作中使用GitHub Copilot,所以,一直没怎么使用。最近因为有一些其它任务,所以,试用了一下,感觉还是很不错的。(主要是C++和Python编程)

一:常用功能

1.1:代码的智能提示和代码补全

也就是Copilot一直会猜你想写什么,不断给你提示。

首先,它会自动出现提示,你只需要使用 "Tab"就可以采纳意见ESC 取消

举个例子,第一行是我输入的,其它全部是提示,逐行生成的。

bash 复制代码
# 完成一个CSV文件的读取和解析

# 1. 读取CSV文件
# 2. 解析CSV文件
# 3. 显示CSV文件的内容

import pandas as pd
# 读取CSV文件 df = pd.read_csv('./data.csv')
# 解析CSV文件 print(df)
# 显示CSV文件的内容 print(df.head())
# 显示CSV文件的列名 print(df.columns)
# 显示CSV文件的行数和列数 print(df.shape)
# 显示CSV文件的数据类型 print(df.dtypes)
# 显示CSV文件的统计信息 print(df.describe())

如果提示可能会有多种选择,可以使用 Alt + 进行选择和切换,

如果取消了(使用ESC),又想获得提示,可以使用 Alt + \。

如果觉得这样逐行提示太慢,可以直接获取 建议。使用 Ctrl + 回车

对于获得代码提示,最常见的做法是:

  • 使用注释,提出你的要求。

  • 使用合理的函数名。

1.2:边编码边会话

最简单的是直接进入 Github Copilot 的会话页面,可以通过右下角的 打开Github copilot 菜单,选择 chat功能

这里有会话输入框,这里可以做的事情就很多了。

  • 解释和理解代码

  • 重构代码,改变代码的可读性,提供代码改进建议

  • 编写单元测试代码

  • 添加必要的调试信息,特别是运行时必要的输出/打印信息

  • 修复代码的问题

  • 更多......

这里还有一些功能,比如:新会话,查询历史会话。

对话框可以用其它方式打开(新窗,代码窗)

其实,还有一种方式打开对话框,就是使用 Ctrl + Shitf + I

这个窗打开,它的功能和上面的好象没什么区别,不知道存在的意义是什么?

对于问题的针对,有一些变量可以使用:

bash 复制代码
#这里针对当前编辑器提问。 
#editor what does this code do? 

#selection write a unit test for this code。 
#selection 命令可确保 Copilot Chat 在回应问题时关注于所选代码。 

#针对文件进行提问 
#file:app.js What does this file do?

1.3:指定代码行的会话

还可以在某一行代码进行针对性的对话。选中代码行,使用 Ctrl + I 即可。

1.4:支持的语言

支持语言挺多的,感觉没有它不会的。不过,如果能在VS-Code中安装相应语言的插件,然后基于插件的代码框进行编码,效果最好。

1:Shell 脚本(linux下)

2:Cmd 脚本 (windows下)

3:vbs 脚本 (Office Excel 的宏编写)

4:C++ / C 语言 (安装插件)

5:Python 语言 (安装插件)

6:Verilog,VHDL 语言(安装插件)

7:CMake File,Make File (安装插件)

8:Docker File

1.5:支持编写文档

实际上,它也支持编写文档。最常见的是使用 markdown模式,甚至可以通过转换工具,直接把markdown转成PPT,也就相当于可以写PPT了。

注意合理使用提示功能,可以快速完成一些文档,但我没有仔细用,

二:如何配合 ChatGPT使用

实际上,使用Copilot会省掉一下上下文和提示词的输入,其本质还是在使用chatGPT的能力,那它应该如何配合ChatGPT来使用呢?

新知识的学习和理解------使用ChatGPT

实际动手编码------使用Copilot

遇到问题,调试代码------使用Copilot给出初步建议,实在不行,使用ChatGPT查询错误信息,深入理解。

代码审查------使用ChatGPT对代码片断进行审核

文档编写,代码示例 ------ ChatGPT用来生成文档,Copilot生成相应的代码示例。

三:如何让Copilot 自我学习,不断增强

说起这个好像很神奇,其实并没有什么。

3.1: 经常使用

经常用,你的偏好会被记住,后续给出的提示,自然就会更加精准。

3.2: 不断反馈

我理解,不断反馈的数据会被用于重训吧,

四:其它注意事项

4.1:企业版

Github Copilot 的企业版,有一个定制知识库的功能,这个非常有用,可以对某个语言针对自已的业务领域进行增强,我理解可能是RAG类似的做法。可惜,这个功能需要企业版的权限,比较难申请到。

4.2:专注编程问题

专注编程问题,其它也可以问,但说了是专注编程问题。

4.3:更擅长的英语

对于英语的理解能力更强,当得到岐义的答案时,可以改成英文询问

相关推荐
奔跑中的小象3 小时前
统信UOS + 天数AI卡部署SGLang服务手册
人工智能·uos·sglang·天数智芯
DevSecOps选型指南3 小时前
中国版Mythos,为何是悬镜安全灵脉CodeAI?
人工智能·安全
Shockang4 小时前
LangGraph 状态机实战
人工智能
刹那芳华19924 小时前
循环神经网络的从零开始实现(RNN)
人工智能·rnn·深度学习
阿童木写作4 小时前
跨境图片翻译工具多合一,批量图片视频字幕翻译加智能抠图
人工智能·python·音视频·语音识别
科技之门4 小时前
AI3D从建模到贴图、绑骨和动画的完整流程怎么做?V2Fun完整工作流指南
人工智能·3d·贴图
宇宙第一小趴菜4 小时前
二、机器学习的应用领域和发展史
人工智能·机器学习
前端开发江鸟4 小时前
我写过 MCP Server,却一直以为 MCP 只有 Tool
人工智能
天国梦4 小时前
自习室智能化升级避坑指南:天学网AI智习室方案实测与选型建议
大数据·人工智能