我已经使用GitHub copilot一年多了,之所以知道这一点,是因为上上个月,我付了今年的订阅。
一开始,我只能在vscode里面用copilot,毕竟vscode是微软开发的,GitHub被微软收购了,最早在自己家的工具里推出也是非常合理的。那个时候,我发现我只需要定义一个函数,它就唰唰唰的给我出代码,关键代码还是对的,甚至比我自己写的还对,我立刻被吓到了,百思不得其解,这究竟是如何做到的。后来,我知道了,原来是大语言模型(LLM)加持,它基于大量的GitHub上的开源代码进行训练,因此,可能较为可靠的推理出最有可能的代码实现。
后来,我有段时间开始尝试学习Java,下载JetBrain的IntelliJ IDEA,发现这里面也提供了GitHub copilot的插件,一瞬间我就感觉我不慌了,我觉得我也能写Java代码了。当然,实际上,我并不能。当我不了解某个领域的知识的时候,我就无法评估、修改GitHub copilot提供的代码。而我之所以在vscode里被惊艳了,是因为那个时候,我写的是Python代码。
再后来,我发现RStudio也支持Github copilot了,我可以在里面写R代码了 !
下面的灰色代码就是GitHub copilot生成的,并且是真的可以用的。
也就是到目前为止,我已经发现我最常用的工具都被GitHub copilot给赋能了,除了命令行,以及我偶尔会用vim编辑代码。然后,我今天忽然发现,原来这两个也被补全了。
对于命令行,我们可以通过GitHub CLI工具调用,他的安装配置如下
conda install gh --channel conda-forge
# 登录
gh auth login
# 安装拓展
gh extension install github/gh-copilot
# 使用
## 解释
gh copilot explain "sudo apt-get"
## 提示命令
gh copilot suggest "Install git"
对于Linux的vim,通过如下方法安装插件 (需要注意,Vim 版本不低于 9.0.0185,同时后台安装了nodejs 18以上)
git clone https://github.com/github/copilot.vim \
~/.vim/pack/github/start/copilot.vim
接着打开vim进行配置,
:Copilot setup
# 如果提示 Vim version too old,记得升级vim
:Copilot enable
这下子,真的逃不开GitHub copilot了。