现在AI工具已随处可见,咱们开发的也不能落后,传统的本地代码编辑器已不再是唯一的选择。如今,将强大的 AI 算力与集成开发环境(IDE)有机结合的创新模式,正凭借其独特的优势,受到越来越多开发者的青睐与采用。今天,就让我们一同深入了解一下由字节跳动推出的 MarsCode,看看这款免费的 AI 编程助手究竟具备哪些令人瞩目的功能。
什么是MarsCode
MarsCode 作为字节跳动精心打造的免费 AI 编程助手,就像一把功能齐全的 "瑞士军刀",涵盖了代码补全、代码推荐、单测生成、AI 问答、BUG 修复等众多实用功能,旨在全方位协助开发者更高效地进行编程工作。不仅如此,它还贴心地提供了针对 VSCode、JetBrains IDEs 的插件开发与部署功能,以及便捷的云开发环境,无论你是偏好何种开发工具,都能轻松接入并享受到它带来的便利。而且,它对多种主流环境语言都有着出色的支持,能够帮助开发者快速创建相应的项目。
如何使用MarsCode插件
项目创建
进入MarsCode官网登录账号后,点击左上角的 "+ 项目",创建一个新项目,可以看到我这里已经有两个项目了,目前一个用户最多只能创建10个项目。
在创建项目时,我们拥有两种方式可供选择。一种是从模板中创建项目,这些模板涵盖了众多主流的编程语言,例如 Python、Java、JavaScript 等,你可以根据自己的实际需求,找到对应的语言模板,搭建起项目的基础框架。另一种方式则是从 GitHub 代码仓库上导入项目,这对于那些已经在 GitHub 上维护代码的开发者来说,无疑是挺方便的,能够将已有的代码同步到 MarsCode 平台上,实现代码的无缝衔接。值得一提的是,目前 MarsCode 仅支持同步 GitHub 仓库,不过相信随着平台的不断发展,后续会增加对更多代码仓库的支持。
当项目成功导入后,你会发现,其 UI 界面和我们日常使用的主流 IDE 界面还是十分相似得,所以上手难度不高,可以做到快速适应。而界面右侧独具特色的 "AI 互动界面",则是 MarsCode 相较于传统编辑器的一大亮点,可以方便我们使用AI功能。
另外,MarsCode 为每个用户分配的服务器配置为 2 核 4g,对于免费的服务来说,这样的配置已经相当不错了,完全可以满足我们运行平常大多数项目的需求。
MarsCode能力
AI对话
侧边聊天
点击右上角的 "AI" 按钮或者通过快捷键 "ctrl + U",展开聊天界面。MarsCode 的一大优势在于它能够紧密结合上下文来回答我们提出的问题,并且生成的回复内容可以非常便捷地直接运用到我们正在编写的代码当中。比如说,我在编写一段 Java 代码时,需要创建一个包含特定元素的集合,我只需在聊天界面中向 MarsCode 提出需求,它会迅速给出相应的集合代码示例。然后,我只需选中代码中需要替换的部分,点击 "插入" 按钮,就能将生成的数组代码直接替换到原代码中,相较于一般的 AI 工具,这种紧密的代码交互方式无疑更加高效便捷,减少了我们在不同窗口之间来回切换、复制粘贴的操作,我们能够更专注于代码逻辑的实现。
内嵌聊天
除了侧边聊天功能外,AI 助手还支持内嵌聊天这一特性。具体操作方法是,先选中你想要进行操作的代码片段,然后按下 "ctrl + I" 快捷键,即可打开内嵌聊天窗口。
在这里,你可以用自然语言详细描述期望它帮助你完成的任务,比如我有一个存储水果信息的集合对象,我希望将其转换为数组形式以便后续处理,当我向 MarsCode 提出这个需求后,它会根据我选中的代码内容进行分析,并迅速回复生成相应的转换代码。此时,我们可以看到生成代码与原代码之间的差异,而且直接就能将新代码运用过来。
代码补全
根据上文信息补全
在实际编写代码的过程中,MarsCode 的代码补全功能能够为我们节省大量的时间和精力。当我们在对应的代码处敲击 "回车" 键时,AI 助手会根据代码上文已有的信息,智能预测并提示我们接下来可能需要编写的内容,这些提示信息会以非常直观的方式出现在下文位置。如果我们想要一次性补全全部提示代码,只需按下 "Tab" 键,代码就会自动完整地补全到我们的代码当中;而要是我们只需要提示代码中的一部分,操作也同样简单,只需将鼠标移到提示代码处,然后按下 "ctrl + →" 组合键,就可以按照我们的需求逐步补全代码,这种灵活的补全方式能够很好地适应我们不同开发者的编程习惯和具体场景需求。
根据注释补全
另外,MarsCode 还支持根据注释来补全代码,这一功能对于那些习惯先写注释再编写代码的开发者来说,简直是一大福音。我们只需在对应的代码处写上清晰明了的注释,再敲击 "回车" 键,AI 助手就能理解注释所表达的意图,并生成与之匹配的代码内容。
比如,我在 Java 文件中写下注释 "// 将list集合转换成数组,使用流的方式",敲回车后,MarsCode 就会自动生成一个实现该功能的具体逻辑代码,我们只需在此基础上根据实际需求进行适当调整即可,提高了我们代码编写的效率和准确性。
代码解释
选中需要解释的代码后,我们可以通过多种方式来获取 MarsCode 对代码的详细解释。在 AI 聊天界面中,我们既可以用自然语言进行描述,比如输入 "解释选中的代码" 这样简单明了的语句,也可以直接使用快捷命令 "/explain",此时 AI 助手会以通俗易懂的文字方式,详细解读选中代码的逻辑、功能以及每一行代码的具体作用,帮助我们更好地理解代码的运行机制。
除此之外,使用 "/doc" 命令时,AI 助手会从代码方法的角度出发,深入阐释该方法的主要功能是什么,以及每一行代码在整个方法实现过程中所扮演的角色,为我们梳理清楚代码背后的设计思路。
不过,目前 MarsCode 还缺少一个直接生成方法注释的功能快捷键,这在实际使用中确实会给开发者带来一些不便。毕竟写注释是编程过程中一项重要但又略显繁琐的工作,要是能够在选中方法后直接生成简洁明了、重点突出的方法注释,将会进一步提升编程体验,希望后续版本能够考虑增加这一实用功能。
单元测试生成
单元测试在软件开发过程中起着至关重要的作用,而 MarsCode 在这方面也为我们提供了极大的便利。其单元测试生成的用法和代码解释功能颇为相似,我们只需选中需要生成测试的代码片段,然后可以通过自然语言描述期望的测试内容,或者直接使用快捷键 "/test",AI 助手就能迅速为我们生成针对该段代码的单元测试代码。
例如,在开发一个 Java 类中的某个方法时,我希望为其添加单元测试来确保功能的正确性,选中该方法后使用 "/test" 快捷键,MarsCode 会根据方法的输入输出、业务逻辑等要素,自动生成一套完整的 JUnit 单元测试代码,涵盖了各种测试用例和断言,简化了我们手动编写单元测试的工作量,尤其对于那些对单元测试要求严格,遵循 "一功能一测试" 原则的公司或项目来说,这个功能无疑是雪中送炭,能够帮助我们高效地完成代码质量保障工作。
智能修复
在编程过程中,代码出现错误是在所难免的事情,而 MarsCode 为我们提供了智能修复功能来应对这一情况。当代码中存在错误时,对应的 MarsCode 文件会醒目地显示为红色,同时在文件名右侧还会清晰地提示错误的数量,方便我们快速定位到存在问题的文件。
接下来,我们只需将报错的文件段选中,然后在 AI 聊天界面中输入自然语言描述问题所在,或者直接使用 "/fix" 命令,AI 助手就会运用其智能分析能力,精准识别错误原因,并尝试进行智能修复。比如,在代码中出现了语法错误或者变量未定义等常见问题时,通过这个功能,MarsCode 往往能够快速给出合理的修复建议,甚至直接帮我们修正代码,让我们能够迅速回到正确的编程轨道上,避免在排查和修复错误上花费过多的时间和精力。
总结
上面介绍了 MarsCode 的比较特别实用的功能,当然它还有比如新对话创建,历史对话查询、语言切换、代码修改优化等功能,这些功能与其他AI使用方式大体相同,也就没有一一介绍, 总的来说 MarsCode 还是挺不错的,通过编辑器插件或直接使用云IDE,让AI融入我们的代码开发当中,帮助我们在代码思路,编写,优化,找错上都有很大帮助。
总之,豆包的这款AI助手还是挺不错的,在免费 这一块上就已经击败了同类90%产品了,加上可以和项目代码联动,根据项目业务场景来帮助我们理解,分析和改善代码也是一大亮点。最后,希望 MarsCode 在未来的征程中,稳中求进,日益完善,为用户带来更多的惊喜与便利。