MarsCode 辅助编程工具亮点介绍 | 豆包MarsCode AI刷题(方向三)

458 阅读5分钟

1. 什么是 MarsCode?

MarsCode 是豆包旗下的智能编程助手,提供以智能代码补全为代表的核心能力,支持主流编程语言及 IDE,能在编码过程中提供单行或整个函数的建议,同时支持在用户编码过程中提供代码解释、单测生成、问题修复、技术问答等辅助功能,提升编码效率与质量。

豆包 MarsCode 支持本地和云端两种运行方式,只需在官网注册一个帐号,就能直接通过云端 IDE 畅享,也可通过 Visual Studio Code 或 JetBrains IDEs 插件市场中的 MarsCode 插件便捷地将它引入你的本地 IDE。

青训营的 AI 刷题活动中使用的是云端 IDE,不仅集成了 500 道练习题,还支持从外部导入题目,界面底部还可以唤起终端进行命令交互,整体感觉有点类似于 LeetCode 和 VSCode 的结合:

屏幕截图 2024-11-24 161947.png

2. MarsCode 功能亮点

2.1 代码生成与补全

除了编程辅助工具最基础的功能,比如理解当前编辑区的代码并生成代码补全建议,或者根据用户注释生成对应代码片段,豆包 MarsCode 还能做到仓库级的项目理解,为用户提供整个项目全方位的解读。

这里我们随便找了一道题为例,可以看到,你只需要写出一部分注释,MarsCode 就能猜测出你的意图并进行补充推荐,按 Tab 即可采纳 MarsCode 的建议。

而根据生成的注释,MarsCode 还会自动进行单行或者多行的代码补全推荐,你可以按 Tab 全部接纳,也可以按 Shift + Tab 逐行接纳。

甚至在连题目说明都没有的情况下(这里我是在本地 VSCode 上测试的,所以没有题目提示),MarsCode 会自动理解整个编辑区代码并给出自己后续处理步骤的猜测:

2.2 代码解释与注释生成

基于大型语言模型强大的理解和生成能力,豆包MarsCode 能快速精准地解释项目代码。前面提到过,豆包 MarsCode 不仅能提供代码行和函数级层面的解释,还能融会贯通整个代码仓库,为整个项目提供全方位的解读。以我之前用过的一个项目为例,这里我直接使用 /explain 命令让模型解读该项目的主体模型结构类:

屏幕截图 2024-11-24 171643.png

可以看到,MarsCode 一行行地把代码的作用详细分析出来了。不过这样还是无法体现模型对项目的整体理解能力,所有我针对当前代码开头的一行 import 语句问了一下模型 import 进来的这两个类的作用是什么。在选择当前项目(工作区)作为上下文后(使用输入框中的 # 符可以选择上下文),模型给出了较为准确的答复:

屏幕截图 2024-11-24 173028.png

强大的代码理解能力也赋予了 MarsCode 优秀的代码注释水平。豆包 MarsCode 可以生成函数级注释或更详细的行间注释,并且操作起来非常便捷:MarsCode 在每一个函数中都设置了解释代码注释代码生成单测三个选项,我们可以直接点击选择注释代码,也可以手动选择想要注释的函数然后在编辑区中输入 /doc 命令。下图是我让 MarsCode 对我写的 T126 摇骰子的胜利概率 这一题的代码的注释示例:

屏幕截图 2024-11-24 170431.png

2.3 单元测试与 Debug

在软件开发过程中,测试的重要性无需多言,很多时候甚至测试代码的时间比开发的时间还要长。对我们刷题来说也是类似的,一遍 AC 是很难得的,很多时候需要大量的 Debug 才能调试出正确的程序。而很多时候为了代码的可读性我们不会把所有代码写到一个函数中,而是把功能拆分成几个函数实现。这时如果程序出现错误,对单个函数的测试就很有必要了。但是一般的调试无法针对单个函数进行,单独创建文件测试一个函数又很麻烦,因此针对这一痛点,MarsCode 中装备了单元测试生成能力,它能够自动洞察你的代码,并为它量身定做单元测试用例,让你有更多时间去专注于代码的创新和优化。

比如这里,我让程序写了一段冒泡排序算法对10个数进行排序,这些数需要由用户输入且排序完后需要按序输出能被3整除的数。然后我让 MarsCode 对整段代码生成测试,很快它就给出了测试类的代码:

屏幕截图 2024-11-24 180645.png

直接运行单元测试代码即可查看程序是否正常:

屏幕截图 2024-11-24 180804.png

当然你也可以对单个函数进行单独测试:

屏幕截图 2024-11-24 183856.png

3. 总结

作为国产 AI 编程助手,豆包 MarsCode 不仅上手简单且完全免费。目前每位用户可获得 2 核 4G 的免费计算资源,并且每个项目有 10G 免费空间。相较于 GitHub Copilot 至少 10 美元 / 月的起步价,豆包MarsCode 真正做到了免费却依然强大;不仅如此,得益于字节强大的服务器支持,豆包 MarsCode 还能为国内用户提供更加稳定可靠的服务。

整体来说 MarsCode 的使用体验还是很不错的,对我青训营的刷题帮助很大,并且可以与 VSCode 等 IDE 集成,可以帮助我们快速熟悉并上手开源项目,关键还免费,真的算是挺好用的一款 AI 辅助编程工具了。