我正在参加「豆包MarsCode初体验」征文活动
豆包 MarsCode 是一个集成了AI功能的编程助手和云端IDE,旨在提高开发效率和质量。它支持多种编程语言和IDE,提供智能代码补全、代码解释、单元测试生成和问题修复等功能,同时具备AI对话视图和开发工具。
豆包 MarsCode
豆包 MarsCode 编程助手支持的 IDE: 支持Visual Studio Code 1.67.0及以上版本,以及JetBrains系列IDE,如IntelliJ IDEA、Pycharm等,版本要求为221.5080.210及以上。
豆包 MarsCode IDE 是一个云端 AI 集成开发环境(IDE),具备原生 AI 编程助手,提供代码补全、生成、优化等功能,支持多种编程语言和框架,无需本地资源,实现随时随地的开发。
豆包 MarsCode官方文档地址:docs.marscode.cn/introductio...
故事起源
故事要从上周六说起。周五下班时大家都兴致勃勃,冲动之下,我也顾不上带电脑,径直开车上高速回家,急着与家里的丫头玩耍。但一到家才发现,书包居然没带。但我手头上还有一些未完成的开源项目工作,以及一个即将截止的征文活动,这些都需要我尽快完成。面对家中没有集成开发环境(IDE)的电脑,可愁死我了,正好当时我在浏览技术社区掘金时,偶然发现了豆包 MarsCode IDE,便立即开始使用这款在线IDE。
用的很不错,正好把我使用的体验感受写一下分享给大家。
先说体验
时间效率
在整个流程中,毫无疑问,使用豆包 IDE 比起先装环境要快得多。程序员们最头疼的就是环境安装,特别是在老式电脑上,我甚至担心会浪费时间。因此,使用豆包 IDE 的直观感受是它快速而稳定。整个环境安装再加上熟悉豆包 IDE,总共花了不到一个小时就可以正常启动项目,其中大约30分钟用在了配置mvn依赖上。这个过程有点坑,难怪会耽误时间。但如果是一个正常的项目,我相信在30分钟内就能搞定。
代码质量
其次,再谈谈我对AI功能的使用体验。实际上,最常用的是代码注释,因为大多数程序员包括我在内,不太喜欢写注释。使用云端IDE平台带来的便利在于,首先无需安装额外的编程助手;其次,通过AI悬挂图标直接选中问题或代码段,能快速解决困扰。这样做非常方便,而且最重要的是可以提升代码质量:一方面减少了对变量名的纠结,另一方面也让代码注释变得更为到位。
深度体验豆包 MarsCode IDE
以下是整体流程的详细描述,以确保信息清晰和逻辑连贯,防止大家头脑混乱:
登录豆包 MarsCode IDE 工作台 ------> 导入 GitHub 仓库 ------> 选择开发环境模板 ------> 配置项目 ------> 运行项目 ------> 体验项目 ------> 代码提交
spring-ai
使用云端 IDE 的主要优势之一是其适用于个人开发者,而大公司通常有自己的代码仓库。对于个人开发者而言,选择云端 IDE 编写开源项目再合适不过,特别是豆包 IDE 提供的资源分配非常充足。这意味着不必担心本地环境可能导致的宕机、电脑死机或磁盘损坏等问题。
然而,对我来说,稳定的网络连接是最关键的因素。在家里,访问 Github 时经常面临网络连接问题或速度极慢的情况,这对开发效率有显著影响。因此,我决定通过编写我的开源项目【spring-ai-demo】来深入体验豆包 IDE 的功能和性能。
快速导入GitHub 仓库
请访问豆包 MarsCode AI IDE 的官方网站:www.marscode.cn/dashboard
在开始之前,请登录豆包 MarsCode IDE 工作台,并导入我们的GitHub仓库项目,操作步骤如下所示:
在进行 GitHub 授权后,你可以访问自己的仓库项目列表。在选择要开发的项目时,系统会自动识别适用的语言模板,例如,如果你选择的项目是 Java 的话,它会自动识别为 Java 模板。
tips:单个账号在豆包 MarsCode IDE 上创建的项目数量不得超过 10 个
当你导入创建项目时,速度非常快,基本可以在几秒钟内完成,而且还会自动识别为 Maven 项目。
依赖环境
拿到新项目后,我们的操作步骤与通常一样,唯一的不同是无需搭建运行环境,只需下载依赖即可。更方便的是,我们可以直接从阿里云仓库下载依赖,无需单独配置mvn的setting文件,这一点特别贴心。
这一步直接报错了。按照官方的依赖包下载的话,在阿里云镜像中是找不到的,具体如下所示:
tips:在pom中指定了repositories仓库地址,也不会生效,可以认为只能去阿里云仓库
当即使指定了下载包仓库,仍然无法成功时,我出于好奇查看了阿里的镜像,发现其不存在。进一步调查后发现,阿里云的镜像groupid已经更改。因此,我也需要相应地进行修改:
修改后,终于成功实现了正常的下载功能,但我仍不清楚是否损失了哪些功能。这可能被视为一个缺陷,因为我的项目是开源的。如果某些小公司内部依赖于私有仓库的包,那么他们可能会遇到问题。
启动项目
在启动项目时,这里会持续提示各种配置项,只需直接启用它们,即可顺利完成启动操作。
确保在启动任何maven项目之前,务必确保项目已成功编译完成,否则可能会导致出现各种文件找不到的错误。
同样地,你也可以在这里配置适合自己习惯的操作方式:如clean install -DskipTests=true
体验项目
启动成功后,将会显示相应的路径及其所监听的端口信息,让我们来查看一下吧。
这里是我们项目真正使用的端口监听。如果需要详细了解,请查看项目配置文件中的相关信息。好的,让我们进行访问。
当我们查看 web-view 时,请将输入的路径转换成对应的路径。举例来说,如果我直接访问 swagger-ui,那么输入的路径就是 doc.html。
此外,除了这些路径,我只需在此页面上点击即可查看和操作剩余的所有路径。
当然,如果你不希望在这里使用webview,也可以复制路径并在浏览器中打开以访问。总体而言,项目启动的基本环境依赖操作通常可以在30分钟内完成。
在这里,不仅可以根据相应的路径找到对应的控制器,还可以观察到垃圾回收器的工作状态,这使得这个视图变得非常有用和优秀。
当鼠标悬停在注解上时,甚至可以显示出本类中的对象是如何被注入的。这对于研究源码来说也是非常有用的功能。
小操作的一项优化是支持文件重命名时,同时修改其中的类名。
编辑项目
完成了上述基本操作后,接下来我们将开始今天的主题:继续维护我的开源项目spring-ai-demo。今天我们将深入探讨函数调用。
大型语言模型(LLM)在训练完成后被冻结,导致其知识陈旧,并限制了其访问和修改外部数据的能力。
为了解决这些问题,函数调用机制应运而生。这种机制允许你注册自定义函数,将大型语言模型连接到外部系统的API。这些外部系统能够为LLM提供实时数据,并代表它执行数据处理操作。
Spring AI简化了支持函数调用所需的代码编写。它处理了函数调用的对话流程,使你能够轻松地注册函数。你只需提供函数的Bean名称作为a,然后在提示选项中选择该名称以激活该函数。此外,您还可以在单个提示中定义和引用多个函数。
- 执行聊天请求及函数定义信息的处理,例如解释模型何时应该调用函数以及函数的输入参数模式。
- 模型决定调用函数时,会传递输入参数给相应的函数,并将输出结果返回给模型。
- Spring AI 管理此对话流程,将函数调用分发给适当的函数,并将结果传送回模型。
- 模型可以执行多个函数调用以获取所需的所有信息。
- 一旦收集到所有必要信息,模型将生成响应。
补全代码
这里先快速写一个入口,tab补全代码
报错修复
在复制粘贴过程中,IDE并不会自动添加相关的依赖包。因此,每当遇到类报错时,如果IDE提供了快速修复选项,请优先点击执行修复操作;如果没有快速修复选项,则建议参考AI fix的建议进行手动修复。
代码注释
这个功能简直是太赞了,我真的很喜欢它。因为有时候实在懒得打字,但在线IDE可以根据我的输入自动理解代码的意图,并且根据我的简短提示自动生成后续的注释。这对于我这种懒人来说简直是福音啊!就看看它的效果吧。
AI 问答
有任何报错,无论是来自控制台还是其他地方,他都能够利用智能问答进行优化和解决。
同样也有历史记录进行维护,这样可以方便回顾和查看之前的错误记录。在记录问题时,根据解决方法详细描述,以确保下次不会再犯同样的错误。
最后重新启动项目即可。尽管已经进行了函数回调,但由于地址传错,无法避免。毕竟这些API都由开发者自行管理,最初我以为是官方的问题,但询问后发现与官方无关。
tips:这里注意下每个路径都是有时间限制的,所以如果长时间不刷新,路径也将会失效,点击刷新即可。url路径是不会改变的
提交变更
当你完成开发并维护相关代码之后,可以直接使用此接口进行Git提交,从而实现一站式的服务。
总结
豆包 MarsCode 是现代开发者的利器,其集成了强大的AI功能和云端IDE,极大地提升了开发效率和代码质量。通过支持多种主流编程语言和IDE,豆包 MarsCode 不仅简化了环境配置过程,还提供了智能代码补全、单元测试生成、问题修复等多项AI驱动的功能,使开发者能够专注于创造性工作而非繁琐的设置。
在实际使用中,我深刻体验到豆包 MarsCode 的便利。无论是快速导入GitHub仓库、自动识别项目语言模板,还是轻松配置和启动项目,它都展现了出色的稳定性和高效性。与传统的本地IDE相比,豆包 MarsCode 的云端特性更加灵活,使我能够随时随地进行开发,无需担心硬件或网络环境的限制。
特别是在代码质量的提升方面,豆包 MarsCode 的AI功能展现了其独特优势。自动代码注释、智能问题解决建议,以及对话式AI视图的应用,不仅简化了日常开发中的繁琐任务,还显著提高了代码的可读性和可维护性。这些功能不仅让我在忙碌的开发过程中节省了大量时间,还使我的开发工作更加高效和愉悦。
总的来说,豆包 MarsCode 不仅是一个工具,更是现代软件开发中不可或缺的助手。它的出现不仅推动了开发工具的技术进步,更为开发者们带来了全新的开发体验和工作方式。期待未来豆包 MarsCode 在AI驱动开发领域继续创新,为全球开发者提供更多实用且强大的功能。
我是努力的小雨,一名 Java 服务端码农,潜心研究着 AI 技术的奥秘。我热爱技术交流与分享,对开源社区充满热情。身兼掘金优秀作者、腾讯云内容共创官、阿里云专家博主、华为云云享专家等多重身份。 🚀 目前,我的探索重点在于 AI Agent 智能体应用,我对其充满好奇,并不断探索着其潜力与可能性。如果你也对此领域充满热情,欢迎与我交流分享,让我们共同探索未知的领域! 💡 我将不吝分享我在技术道路上的个人探索与经验,希望能为你的学习与成长带来一些启发与帮助。 🌟 欢迎关注努力的小雨!🌟