AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

一、引言

你有没有想过,AI可以怎么用在编程上呢?

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

目前市面上有不少尝试,其中最前卫的可能就是 Vercel 的 v0.dev[1]

你只需要告诉它想要什么样的网站,它就能给你几种设计方案。你选定其中一款,接下来它就会为你生成整个网页。

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

这听起来很酷吧!你想要的程序,机器就能帮你写出来。不过,实际上,它目前只能生成网页的用户界面(UI),而且没法处理互动脚本,其他类型的界面,比如手机应用的页面,它也无法搞定。

这其实暴露了AI的短板,至少在目前的阶段,AI还不能完全取代程序员,它更像是个编程小助手。

从我的使用经验来看,作为编程助手,AI的表现非常出色,能为程序员节省大量时间,同时也能显著提升编程的效率和代码的质量。

今天我打算评测两款AI编程助手,看看它们之间的优劣,同时也给刚接触的朋友们展示一下它们的使用方法。

看完后,你就会明白为什么编程离不开AI,它真的能让程序员的工作变得更加高效。

二、GitHub Copilot 和豆包 MarsCode 简介

我今天要介绍的这两款AI编程助手分别是 GitHub Copilot[2]豆包 MarsCode[3]

AI编程助手大比拼:GitHub Copilot与豆包MarsCode

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

GitHub Copilot 是最早问世的 AI 编程助手,名气也最大,市场占有率高得惊人。

这款工具是微软制作的,背后有 OpenAI 的技术支撑,并且依托了庞大的程序员社区,实力可想而知。

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

豆包 MarsCode 是一个基于豆包大模型的智能开发工具。

它背后的支持者是字节跳动,最初是作为内部使用的工具,听说字节的工程师们中有超过70%的人在用,每个月贡献的代码量可是百万级别的哦。

它在6月26日正式在北京发布,外界现在可以免费使用,算是刚刚上线的新鲜事物。

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

它们都是来自知名大厂,代表性十足,功能也相似。接下来我们来看看,国产的 AI 能否与国外的主流产品一较高下。

三、使用环境

一般来说,AI 编程助手并不会单独使用,它们往往是 IDE(集成开发环境)的插件,能在编辑器的界面上提供各种智能功能。

我选的 IDE 是现在最流行的 VS Code,另外,豆包 MarsCode 也支持 Jetbrains IDE,而 Copilot 支持的范围更广。

大家可以在 VS Code 的插件市场里搜索 Copilot 和 MarsCode,轻松找到它们。下面是安装后看到的界面。(上图为 Copilot,下图为豆包 MarsCode,后面都会按照这个顺序展示。)

轻松上手,云 IDE 的魅力

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼
AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

即使你没有安装 VS Code 或者其他开发工具,也不必感到困扰。你可以试试豆包 MarsCode,这个免费的云 IDE[6],它完全可以在浏览器中运行,不需要任何下载和安装。更棒的是,里面有很多现成的开发模板,你还可以直接连接 GitHub,使用起来非常方便。

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

另外,GitHub 也推出了自己的云 IDE,叫做 CodeSpace,里面也能使用 Copilot。不过要注意的是,每个月使用超过60小时后就会收费,所以我就不太推荐了。

四、聊天功能

AI 编程助手的主要交互方式是一个聊天窗口,用户可以在这里问各种问题。

我首先测试了一下它的聊天功能,问了它“什么是 CAP 定理?”

轻松对话,找到你想要的答案

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼
AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

你会发现,它们给出的答案都很靠谱,Copilot 的排版看起来稍微好一些。

我问的第二个问题是“能推荐一些学习 JavaScript 的书吗”,两者几乎给出了相似的建议。

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼
AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

你也可以问一些跟编程无关的问题,比如“2025年春节是哪一天”,它们也能给你送上靠谱的答案。

不过,平时最常用这个功能的场景,还是用来查阅软件文档,真的挺方便的。

五、代码生成

现在我们来看看 AI 编程助手最酷的功能:自动生成代码,看看它能写出什么。

使用起来非常简单,你只需要输入一些字符,它就会自动给出后续的代码建议

你可以把这些建议当作参考,也可以直接按 Tab 键将其变成正式代码。如果你想逐字确认,可以按 Ctrl + 右箭头(Mac 用户用 Cmd + 右箭头)。

我试着让 AI 生成一个用来验证电话号码的函数。

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼
AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

看看上面的代码,除了第一行“// 验证电话号码”是我自己输入的,后面的内容都是 AI 自动生成的。

这段代码的确没问题,而且有两个地方让我特别满意。(1)因为文件用的是 JS 后缀,生成的正是 JavaScript 代码;(2)它们能够验证中国的手机号码,虽然我并没有特别指出,这一点是它们自己推测出来的。

有点有意思的是,Copilot 和豆包 MarsCode 生成的代码竟然一模一样。难道它们用的是同一种训练材料?

我又加了一个条件,要同时支持手机和座机的情况。你猜怎么着?它们给出的代码还是(基本上)一样。

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼
AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

在这个环节,它们的表现都差不多。而且,如果你对它们提供的实现不太满意,Copilot 还可以按 Ctrl + Enter,来获取多种实现的选项(见下图)。

来聊聊豆包 MarsCode 的那些实用功能吧!

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

你知道吗?豆包 MarsCode 在给出代码建议的时候,还有一个非常方便的浮动工具栏,能让你轻松切换不同的实现方式(看看下图的箭头就知道啦)。

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

还有一点特别值得一提的就是,豆包 MarsCode 拥有一个叫“代码补全 Pro”的功能,这个功能真的是省心,它可以根据你现有的代码自动预测接下来应该怎么写,完全不用你手动输入提示。

不过,要想使用这个功能,你得在设置中自己先打开哦(看看下图就明白了)。

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

一旦开启这个功能,代码预测的能力就会大大增强。首先,当你想要触发代码推荐时,只需在期望的地方按下 Ctrl + Shift + Enter,然后再按 Tab 就可以接受推荐。

这时候,它会帮你预测下一个可能的改动点,你只需点击 Tab 就会直接跳转到那里。这在进行代码修改时特别有用,修改了一个地方后,它会自动引导你到下一个(预测的)改动点,并给出相应的推荐代码。这种聪明的功能是普通的代码补全工具无法做到的。

六、生成注释,代码解释

除了能够生成代码之外,AI 还有一个重要的功能,就是帮助生成编程文档,也就是对代码的文字说明。

文档功能主要有两项:注释和代码解释。首先,Copilot 的注释是需要你自己手动生成的。

轻松生成代码注释与解释,让编程变得简单

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

在豆包 MarsCode 中,你会发现一个特别的按钮,可以快速生成代码注释。

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

点击这个按钮后,会弹出一个/doc命令,使用起来超级方便。

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

至于代码解释的功能,我觉得豆包 MarsCode 在这方面做得更棒,相比之下,Copilot 的解释有点长,让人看起来不太舒服。

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

七、其他功能

(1)代码翻译

这些工具能把不同编程语言的代码互相转换,简直太方便了。

我尝试把 JavaScript 的代码转成 Python,结果一切顺利。而且,豆包 MarsCode 还贴心地将翻译好的代码存成了一个独立文件,省去了很多麻烦。

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼
AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

(2)生成单测

写单元测试真的让人头疼,不过现在有了 AI 自动生成的功能,简直轻松多了。

聊聊编程助手,哪个更靠谱?

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼
AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

你知道吗?同样的代码,Copilot竟然只生成了4个测试用例,而豆包 MarsCode则多出了5个,真是看得出用心。

而且,豆包 MarsCode还附带了对测试用例的文字总结,这一点非常实用,遗憾的是Copilot没有这个功能。

AI 编程助手对决:GitHub Copilot 与豆包 MarsCode 的实力比拼

总体来说,我觉得豆包 MarsCode在这一部分表现得更为出色。

(3)纠错能力

AI不仅能生成代码,还能自动修正出错的部分。如果测试用例没通过,它会告诉你出错原因,并给出修改建议。这里就不具体举例了。

八、总结一下吧

经过这一系列的测试,两个工具的表现其实差不多。不过,我觉得国产的 AI 编程助手可以完全替代 GitHub Copilot,而且在一些具体细节上可能更胜一筹。

说到Copilot,它的强项在于功能丰富[7](比如可以调用终端命令),而且可能由于训练数据更广泛,在一些冷门语言上表现略好。

不过,它是收费的,每个月要10美元,而豆包 MarsCode 是免费的,光这一点就很值得推荐后者。

豆包 MarsCode:国产编程助手值得一试

说实话,豆包 MarsCode 现在还在起步阶段,不过未来会不断更新更多功能。现在的这些功能,其实对大部分程序员来说,已经足够用了。

而且我发现,豆包 MarsCode 的响应速度相对较快,因为它的服务器在国内。这一点比 Copilot 使用的境外服务器,要更有优势。

总而言之,豆包 MarsCode 真的值得大家去体验一下,感受一下国产 AI 的进步。如果你还没用过 AI 编程助手,那就更应该抓住这个机会,试试这个提高效率的编程工具!

(完)

来源:今日头条
原文标题:AI 编程助手测评:GitHub Copilot vs 豆包 MarsCode – 今日头条
声明:
文章来自网络收集后经过ai改写发布,如不小心侵犯了您的权益,请联系本站删除,给您带来困扰,深表歉意!

发表评论