豆包 MarsCode 是字节跳动推出的一款免费 AI 编程助手,是基于豆包大模型打造的智能开发工具,字节跳动内部超 70%的工程师都在使用,每月贡献百万行量级的代码,2024 年 6 月 26 日正式对外发布。提供 AI 驱动的云端 IDE 版和支持 VS code 和 JetBrains 等的扩展版,具备多种强大功能,拥有强大的 AI 能力,在编程的各个阶段提供协助支持,像代码补全、代码推荐、单测生成等。
MarsCode 能提供单行或多行的代码推荐,还支持通过注释生成代码片段,从而提升代码编写速度。其代码补全 Pro(Beta)功能,在修改或重构代码时,可基于编辑行为预测下一个改动点并给出推荐,协助完整的编码过程。它还能为选中函数生成单测,提升单测覆盖率,进而提升代码质量;可以理解项目仓库,帮助用户准确解释代码,方便快速上手开发;能够为整个函数或每行代码生成注释,提升代码可读性以方便协同开发。
MarsCode 支持 Python、Go、PHP、Java、C 等主流编程语言及 IDE,如支持 Visual Studio Code 以及 JetBrains 系列 IDE(如 IntelliJ IDEA、Pycharm 等。主要用户界面是一个聊天窗口,用户可以向其提出各种问题,不限于编程问题,例如关于软件文档查找、CAP 定理的解释、JavaScript 学习书籍推荐,甚至非编程问题都能准确回答。
主要功能
代码补全与生成
豆包 MarsCode 支持代码补全和代码生成功能。代码补全功能能够阅读并理解当前代码,然后提供后续代码片段,也支持通过注释生成代码片段。代码生成功能则理解自然语言并生成所需代码。
代码编辑与优化
该工具还提供了代码编辑功能,包括重构、优化、修改部分逻辑等。此外,还有智能代码补全,可以预测并完成单行代码或整个函数的编写,大大提高了编码速度和准确度。
多平台与多语言支持
豆包 MarsCode 兼容 Windows、macOS 和 Linux 操作系统,同时支持多种编程语言,以及主流的集成开发环境(IDE)如 VisualStudioCode 和 JetBrains 产品。
云端 IDE
除了作为本地 IDE 的插件,豆包 MarsCode 还提供了一个云端的集成开发环境,允许开发者无需配置本地环境即可开始编码,这在移动办公或协作环境中特别有用。
代码解释与问题修复
工具还支持代码解释功能,帮助开发者更好地理解代码逻辑;并且在遇到 bug 时,AI 可以协助分析错误并提出修复建议。
单元测试生成
豆包 MarsCode 可以自动生成单元测试代码,简化了测试流程,确保代码质量。
MarsCode 的用途
提升编码速度
MarsCode 在编码过程中提供单行或多行的代码推荐,并支持通过注释生成代码片段,能够大大提升代码编写速度。例如,当你在对应代码处敲击回车键换行时,它会阅读并理解当前代码,然后自动补全后续代码;当你在对应位置添加注释后敲击回车键换行时,MarsCode 会阅读并理解代码注释,然后直接生成代码。
辅助代码质量提升
- 单测生成:MarsCode 能够为选中函数生成单测,提升单测覆盖率,从而提升代码质量。你只需选中代码片段,然后向 MarsCode 发送单元测试生成指令(在侧边对话视图的输入框中输入「/test」指令或自然语言描述,例如“为所选代码片段生成单元测试”;也可选中代码片段后右键,然后在快捷菜单中选择 MarsCode Generate Test),编程助手就会为选中的代码片段生成单元测试。
- 代码解释:它可以理解项目仓库,帮助用户准确解释代码从而快速上手开发。若你选中有疑惑的代码片段后,可向 MarsCode 发送代码解释指令(在侧边对话视图的输入框中输入「/explain」指令或自然语言描述,例如:解释选中的代码片段;也可选中代码片段后右键,然后在快捷菜单中选择 MarsCode Explain Code),编程助手将做出解释。
- 代码优化:如果你想要进一步优化代码,可以直接选中代码片段,然后在对话框中输入自然语言描述(例如“优化选中的代码片段”),点击「发送」或敲击回车键,即可生成优化后的代码,复制代码框中的代码片段后,点击「插入」按钮,就可以顺利将编辑后的代码片段插入对应的位置,替代原先的代码。
- 代码审查:MarsCode 还能对代码进行审查,帮助发现潜在问题,提高代码的健壮性和稳定性。
方便协同开发
MarsCode 可以为整个函数或每行代码生成注释,提升代码可读性,方便团队成员之间的协同开发。同时,在修改或重构代码时,其代码补全 Pro(Beta)功能支持基于编辑行为预测下一个改动点,并给出推荐,协助完整的编码过程。当光标停在期望触发的位置时,可以通过快捷键「Ctrl+Shift+Enter」主动触发推荐,并通过 Tab 采纳;当采纳了某个推荐内容后,会触发预测下一个改动点的推荐,点击「Tab」跳转到相应预测行,再点击「Tab」采纳推荐内容(该功能目前仅支持 Visual Studio Code)。
智能修复错误
当代码中存在错误时,MarsCode 的智能修复能力可以发挥作用。窗口中的代码文件名称会高亮,名称右侧会提示错误数量,你只需要选中有问题的代码片段,在对话框中输入「/fix」指令或自然语言描述(例如“修复选中的代码片段”),点击「发送」或敲击回车键,即可对报错的代码片段完成智能修复。
同类产品比较
GitHub Copilot
功能方面
- 代码生成:在生成代码方面,两者都能根据用户输入生成代码。例如,在生成检验电话号码的函数时,两者给出的代码基本相同。不过,MarsCode 有一个特色功能代码补全 Pro(Beta),不需要手动给出提示,就能根据现有代码自动预测下一个改动点并给出推荐代码,而 GitHub Copilot 没有这个功能。在对生成的代码有更多实现需求时,GitHub Copilot 可以按下 Ctrl + Enter,会有多种实现供选择;MarsCode 则是在代码建议时有一个浮动工具栏,可以切换多种实现。
- 注释和代码解释:GitHub Copilot 的注释需要手动生成,而 MarsCode 在代码上方有生成注释的快捷按钮,点击后会唤起/doc 命令,使用相对方便。在代码解释功能上,MarsCode 的解释相对 Copilot 更简洁明了,Copilot 的解释有时会过于冗长不易读。
- 单元测试生成:对于同一段代码,Copilot 生成了 4 个测试用例,MarsCode 生成了 5 个,并且 MarsCode 对测试用例有文字总结,这一点 MarsCode 表现更好。
- 其他功能:GitHub Copilot 功能较多,比如可以调用终端命令,而 MarsCode 在这方面没有提及有类似功能。不过在代码翻译方面,两者都能够将一种语言的代码翻译成另一种语言,但 MarsCode 会自动将翻译后的代码保存成当前目录下的一个单独文件,这是 MarsCode 的一个优势。
使用环境方面
两者一般都作为 IDE(集成开发环境)的插件使用。MarsCode 支持 Visual Studio Code 和 JetBrains 系列 IDE;GitHub Copilot 支持的 IDE 更多。MarsCode 提供免费的云 IDE,无需下载和安装,直接在浏览器使用,并且内置数十款开发模板,还可以拉取 GitHub 仓库,而 GitHub 的云 IDE(CodeSpace)每月使用 60 小时之后就要收费。
- 费用方面:GitHub Copilot 是收费的,每月 10 美元;而 MarsCode 是免费的,这是 MarsCode 很大的一个优势。
- 响应速度方面:由于 MarsCode 的服务器在国内,在使用中明显响应速度更快,而 GitHub Copilot 的服务器在境外,可能会受到网络等因素影响导致响应速度相对较慢。
其他国产 AI 编程助手
文心快码、通义灵码、腾讯云 AI 代码助手。
基础信息方面
文心快码是基于文心大模型,结合百度二十年编程现场大数据打造的智能编码助手,于去年 6 月份正式对外发布,目前已更新至 2.5 版本,覆盖 Java、Python、C++等 100 +种编程语言,支持 JetBrains、VSCode 等 10 +种主流 IDE;通义灵码和腾讯云 AI 代码助手也各自依托不同的技术基础和背景,有着自己的发展历程和覆盖范围。MarsCode 是基于豆包大模型,字节跳动推出的免费 AI 编程助手,支持 Python、Go、PHP、Java、C 等主流编程语言及 IDE(如 Visual Studio Code 和 JetBrains 系列 IDE)。
功能特点方面
文心快码在智能编码能力上表现较强,在代码续写、代码解释、NL2Code、CodeDebug 等能力上保持领先,但没有提及与 MarsCode 在其他功能(如 MarsCode 的代码补全 Pro、自动保存翻译后代码为单独文件等特色功能)上的比较。对于通义灵码和腾讯云 AI 代码助手,目前缺乏足够详细的与 MarsCode 在功能特点上的全面对比信息,但可以推测它们在功能上会各有优劣,因为不同的编程助手可能会针对不同的用户需求和编程场景进行功能优化。
总结分析
用户们普遍认为豆包 MarsCode 是一个提供全功能开发能力的 AI 优先 IDE,它极大地提高了开发效率,并且使编码过程更加愉快和流畅。前端开发者、资深开发者和全栈开发者等都对豆包 MarsCode 的运行预览、集成控制台功能、AI 助手、项目模板库、一键云部署等功能表示赞赏。
豆包 MarsCode 是一个为开发者设计的智能 IDE,它通过集成 AI 功能,提供了从代码编写到部署的全套服务。无论是提升开发效率、简化开发流程,还是学习新技术,豆包 MarsCode 都是开发者的强大助手。
相关链接
豆包 MarsCode 官网:www.marscode.cn(注册即得 10 火星币,10 元)