slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
VS Code一秒生成80%代码?鹅厂人真实感受
17611538698
webmaster@21cto.com

VS Code一秒生成80%代码?鹅厂人真实感受

人工智能 0 2271 2023-08-12 08:07:33
GitHub Copilot 发布不过两年,已助力逾百万开发者创造超过46%的代码量,更将编码速度提升了高达55%。

而近期,VScode发布1.80版本,这次重磅更新直接引入GitHub Copilot新功能—— Copilot ChatAI聊天助手来袭!

是鸡肋还是生产力?

在答案揭晓之前,如果你想体验最新版本、下载 VSCode 插件,可访问:https://marketplace.visualstudio.com/items?itemName=GitHub.copilot-chat

安装之后,会发现侧边栏多了一个聊天的入口,在关联到 Github 账号就可以使用了(账号需要 waitlist 通过)

图片


图片



图片


Copilot Chat 主要提供了一个可交互式的界面。

在帮助文档中我们可以看到,它支持以下几种能力:

▶︎ 解释一行代码、整个文件或库 API 的作用。

▶︎ 找出问题,甚至修复它们。

▶︎ 重写代码以使其更易读或更快。

▶︎ 编写新的测试和组件。

▶︎ 提问关于 VS Code 的问题。

▶︎ 提问一般编程问题。

▶︎ ……

当然还有以 / 开头的命令:

▶︎ /tests - 为选择的代码生成单元测试

▶︎ /fix - 为选择的代码问题提供修复建议

▶︎ /explain - 解释选择的代码的工作原理

▶︎ /ext - 关于 VS Code 扩展程序开发的问题

▶︎ /vscode - 关于 VS Code 的问题

▶︎ /help - 关于 GitHub Copilot 的一般帮助

▶︎ /createWorkspace - 创建一个项目



图片



图片


如同 GPT 一样,我们可以针对代码中不太理解的地方直接进行提问,选中文本后,输入 /explain 指令加上想问的内容就好。(这里默认返回英文,如果用中文提问也可以得到中文的回答)


在这里我们选择了一个非常复杂的正则来进行测试,可以看到模型理解还是很不错的,能够解释的非常细致,针对场景我们还可以追问,让 AI 来充当你的老师。


图片


图片


在本次测试中,我故意改错了一个变量(不过保证语法是正常的,只是逻辑错误),Copilot 能够直接发现这个改动的问题,并给出了修复后的代码。请各位看图。

对于这种独立小函数,Copilot 的纠错能力还是不错的。


图片


图片


可以让 Copilot 帮忙为函数生成测试用例,然后跑一下验证用例的准确性。


在这个 case 中,Copilot 总共帮忙生成了6个用例,其中5个通过,1个不通过。仔细看了下,这个用例的期望输出有一些问题,可见模型生成的用例的准确性还是有一些问题的。


不过从完备性来看,Copilot 生成的测试用例还是给了我们不少启发,在编写测试用例这一块有极大的借鉴和提效。


当然,我们还可以借助 Copilot 来进行完成代码重构、写一个新组件等任务。相信大家日常中也有可能用到的探索场景,都可以用 Copilot 来尝试,我们就不再赘述。


图片


1.8版本推出了一个有意思的小功能,支持了 /createWorkspace 命令,这个命令可以帮助我们快速创建一个新的项目:

图片


不过当我真正跑起来的时候,发现还是有不少问题:

图片


可以看到 Copilot 生成的项目所用的 vue-cli-service 已经过时了,并且少了一些 babel 和 webpack 的配置。这一部分应该还是受限于当前 AI 的训练语料时间,一般来说很容易与当前最新的资料脱轨,这个功能也许需要联网能力才可以更好地进行使用。


图片


值得注意的是,这个插件还是有许多地方需改进。比如模型的边界——幻想问题。

图片


可以看到在问到一些比较困难的问题时,Copilot 会幻想出一些不存在的 API 来尝试解答。这样的情况在 GPT 中也会有发生,这也是目前大模型的一个局限,会进行一些不基于事实的捏造与幻想。我们在使用 AI 的过程中,需要仔细辨别它的正确性。


虽有局限性,但是总的来说我个人认为 Copilot Chat 还是一款非常有用的工具,我们已经能够看到 ta 在很多场景为我们提供协助,比如我个人常用的两个场景:


▶︎ 代码理解:经常寻求 AI 帮助理解复杂的代码逻辑,尤其是在读源码时非常有帮助。

▶︎ 代码补全:写代码时提效帮助很大,也可以在编写代码时与 Copilot 进行结对编程,提升自己的代码质量。


相信随着模型的不断更新和完善,Copilot Chat 会越来越好用,期待拥抱未来编程新时代。


评论