Skip to main content

Github Copilot X Chat 模式体验

· 5 min read
Arthur

今天更新 VSCode 的时候在更新日志中看到了 Github Copilot,最近 ChatGPT 这么火爆,Copilot 也是跟进了 Chat 模式啊,这还不得马上体验体验...

Copilot Next包含很多项目,Chat 模式只是其中之一,Labs也比较有趣,大家可以体验下~

目前还处于 beta 版,使用起来有几个条件:

  1. 有 Chat 模式的权限,没有可以先加入候补:GitHub Copilot chat waitlist
  2. 使用 VSCode Insiders 版本
  3. 安装 GitHub Copilot Nightly 插件

Insiders 和 Nightly 都是日常构建的体验版本,并不适合生产环境哈!

准备就绪后,VSCode 的侧边栏会多出一个对话图标,打开就是 Copilot 的 Chat 模式了。界面很简洁,聊天框内可以输入普通的文本,也可以用/来触发特定的指令,有对话内容后,聊天框上方还会显示一条推荐问题:

非技术类问题

首先是可以把它当作简化版的 ChatGPT 来使用的。默认回答是英文,你可以直接让它用中文回复。但你问一些它答不上来或者非技术相关的问题时,它会拒绝回答,或者虽然回答但会提示说:“我作为一个编程助手,xxx”(翻译:老子不是干这个的...🙃)

我目前测试下来,一些常识类或者数理逻辑的问题它是可以回答的,创作类的就不行了。接下来我们还是看看它的强项:编程助手。

编程类问题

在聊天框内输入/,目前可以针对你当前鼠标的位置/选择的代码/当前文件或项目做到:

  • /explain 解释代码逻辑
  • /fix 修复问题
  • /simplify 简化代码
  • /tests 编写单元测试

当然/这些指令是帮助你使用它,实际可以不用输。比如我在 LeetCode 上随便找了道题,先让它帮我把代码写出来。生成的代码可以复制或者直接插入到编辑器中鼠标所在的位置:

这时候输入一步步解释代码或者/explain,它会开始解释这个函数。以后再也没有看不懂的代码了 🙃..

编写单元测试、修复和简化代码都是类似的,就不演示了。它还提供了一些辅助类的指令:/clear 清除对话/开启新对话,/vscode VSCode 的相关帮助,/help Copilot 的相关帮助,比如:

Chat 模式的意义

这里谈下跟原来的 Copilot 的区别,我的理解是之前的 Copilot 是在限定场景下的被动式触发,比如当你输入了信息后,不论是代码还是注释,Copilot 会根据上下文自动生成接下来的文字,可以参考我之前写的体验:AI 结对编程:Microsoft Github Copilot 探索实践

Chat 模式加成的 Copilot 首先毋庸置疑功能肯定是更强大,但最关键的是用户掌握了所有权,整个交互流程也更自然。比如通常我们遇到开发问题,它是一个可以用自然语言描述的问题,比如“这段代码怎么优化下?“、”我这里需要一个方法,实现从 URL 中提取参数?”。新版的 Copilot 就比较符合我们解决问题的流程,开发者主动定位代码 -> 提出问题 -> 解决问题。当然原来 Copilot 的所有功能新版都有保留。

实话说,这普通程序猿是真的“危”,不过这个趋势必然是这样的,不可挡啊。当下考虑怎么把这类产品当作一个好的工具,然后给自己带来更多的价值我觉得更实际一些。