大家好,我是小林。
现在很多 AI 大模型只需要跟它说说话,它就能帮程序员生成代码,但这距离做成一个完整的项目仍有一定差距。因为即使通过 AI 生成了代码,我们还需要自己去寻找合适的位置将代码粘贴进去。
一个项目并非仅仅是单个代码文件,而是具有多种层级的代码文件结构。当面对一个不熟悉的项目时,可能会出现即便想要添加代码,却不清楚应该在哪个文件中进行添加的情况
我们做项目的时候,都会用 IDE 来写代码,试想一下,如果 IDE 里就有一个懂你项目的 AI 编程助手,它能帮你生成你需要的代码,并且还能自寻找位置直接把代码粘贴进去,那利用 AI 开发项目就更简单了,整个过程无比丝滑,只需要跟 AI 唠唠嗑,项目就给做好了。
那有谁实现了这么流畅的功能呢?
还真有!最近看到「豆包MarsCode 」编程助手新增的"一键Apply "功能,就很好的实现了这个能力,我在体验过后,不禁感慨万千,豆包 MarsCode 实在是太懂程序员了。
"一键Apply"功能简单来说,就是可以一键将 AI 生成的代码自动插入到项目对应的文件位置,同时会将新生成的代码与原代码进行比对,形成差异(Diff),提醒编码者针对新代码【采纳】或者【拒绝】,无需手动打开文件、找寻位置、复制粘贴这些流程了,给 AI 编程带来了全新体验,这是国内同类型产品首个有 Apply 的能力。
原本「豆包MarsCode」就已经具备了很多对开发者帮助很大的编程 AI 功能,比如代码修改、错误修复,生成注释、单测生成等等。
而有了"一键Apply"功能的加成之后,上面这些 AI 功能生成的代码都可以通过"一键Apply"把代码自动插入到项目对应的文件位置,这属于是如虎添翼了。
接下来,带大家来体验一下和感受一下「豆包MarsCode编程助手」的强大之处。
准备工作
先来简单介绍一下豆包 MarsCode 编程助手,它有好多超棒的 AI 功能,像智能代码补全、代码生成、错误修复、单元测试生成啥的。
而且,它支持好多主流编程语言,像 Go、Python、Java 等等。还有那些 IDE 也都支持,比如 VS Code、JetBrains 系列的 IntelliJ IDEA、Pycharm 等等。对了,Windows、macOS、Linux 这些主流操作系统它也都能行,所以基本覆盖了大多数程序员的环境和工作的需求。
接下来,教大家如何在 IDE 安装 「豆包MarsCode」。
很重要的第一步!!!如果你还没注册过,点击下方链接免费注册 :sourl.cn/rCWxs6
很重要的第一步!!!如果你还没注册过,点击下方链接免费注册 :sourl.cn/rCWxs6
很重要的第一步!!!如果你还没注册过,点击下方链接免费注册 :sourl.cn/rCWxs6
我这里选择在 VSCode 安装「豆包MarsCode」插件,安装的方式很简单,只需要在插件商城搜索「MarsCode」,然后点击安装就可以了。
安装完之后,重启 VSCode,重启成功后登录帐号,接着,从左边栏找到豆包MarsCode,然后即可体验 AI 助力编码。
一键Apply的妙处
代码生成,一键Apply
现在我们要做一个用户管理系统 Web 应用,具备用户注册和登录的功能,账号分为超级管理用户和普通用户:
- 超级管理用户无需注册,直接用固定账号(root)和密码(123456)登录系统,登录成功就可以查看所有用户的账号信息,超级管理用户可对普通用户进行禁用操作,被禁用的普通用户无法正常登录。
- 普通用户需要注册账号才可以登录系统,注册的时候需要提供账号、密码、邮件、手机号、地址的信息,登录成功之后,普通用户只能看到自己的信息。
现在交给豆包MarsCode,在输入框中输入指令,后端代码要求用 Python 来实现代码,用 MySQL 来存储数据,并且提供数据库表的 SQL 语句。
输入信息后,回车,此时豆包MarsCode编程助手就开始吭哧吭哧帮我们干活了。
我们在生成的 Python 代码这,点击"Apply"。
此时就会帮我们自动创建 Python 文件,并且把代码应用到对应文件中,并形成高亮颜色显示,如果采纳此代码,则点击「全部采纳」或者「采纳」,完成此操作,如果不想采纳,则点击「全部拒绝」或者「拒绝」。
接下来,我们来运行这个用户管理系统项目,如果你不知道如何运行,也可以直接问豆包MarsCode编程助手。
接下来,我们来运行这个用户管理系统项目,如果你不知道如何运行,也可以直接问豆包MarsCode编程助手。
这个步骤非常清晰了,不仅提示了项目的环境依赖,还有代码中的MySQL配置需要修改,最后是运行应用的命令都给出来了,我也带大家走一遍流程。
第一步,由于我们这个是后端项目,数据是保存到MySQL中,因此先要在MySQL中创建数据库表,我最开始要求豆包MarsCode编程助手要生成数据库表的SQL语句,就是为了方便复制SQL语句到 MySQL 中去执行。
第二步,修改Python中MySQL连接的配置信息,下图中红色框住的信息都需要根据自己的MySQL来修改。
第三步,就可以直接运行项目了,从下图运行结果得知,程序运行成功了,应用服务监听的是 5000 端口。
代码修改,一键Apply
细心的同学肯定发现了,上面实现的用户管理系统,用户的密码是以明文的方式存储的,这也不能怪豆包MarsCode编程助手,主要也是我的提示词没有写清楚需要对密码进行加密,豆包MarsCode编程助手也是有提醒我这个事情的。
我们工作的项目也是一样,需求都是会时刻变更的,后续还会继续在项目增加的代码,这时候就可以用豆包MarsCode编程助手来完成代码补全,可以提升程序员们工作效率(PS:偷笑,又增加咱们摸鱼的时间了)。
现在我让豆包MarsCode帮我修改前面生成的代码,用「加盐哈希」的方式来加密用户密码。
当豆包MarsCode生成完代码之后,点击"Apply",新代码就能修改到老代码中了,接着我们就对代码 readview 一下,没问题就可以直接采纳。
接下来,我们进行 API 接口测试,看一下用户的密码是否是加密存储了。
我们可以直接问豆包MarsCode 如何测试?
我们用 curl 工具来测试一波,现在来测试用户注册的功能,直接将 curl 命令插入到终端执行。
然后我们看数据库的用户记录,可以看到密码是被加密存储的了,说明豆包MarsCode 帮我们补全的代码是没有问题的。
错误修复,一键Apply
项目开发过程中,遇到最让人头疼的就是莫名其妙的代码报错,有时候为了解决代码报错的问题,所付出的时间,可能都比开发这个功能时间要长。
那么有了豆包MarsCode,在面对代码报错的问题时,让它来修复我们代码,就不会在为代码报错的问题挠头了。
举个例子,学过 C 语言的同学肯定都被指针折磨过,指针的问题是最难排查的问题,这次我 C 语言的指针代码问题来演示,看一下豆包MarsCode的智能错误修复能力如何?
我在编译用用 C 语言实现反转链表代码的时候报错了,如下图
当发现代码有错误提示的时候,我们直接在豆包MarsCode对话框里输入/fix指令就行,生成智能修复过的代码片段后,再点击"Apply",然后选择全部采纳,这样修复的代码就会直接覆盖原来有问题的代码。
修复之后,我们重新编译一下代码。
这时候编译是通过的,然后我们执行一下代码.
很好,没什么问题了,就是这么简单和无脑,极大节省了程序员们时间和精力(PS:偷笑,又又增加咱们摸鱼的时间了)。
代码注释,一键Apply
写好了代码,怎么能少的了写注释呢!不写注释,不仅你同事看不懂,未来 3 个月后的你也看不懂。
但是写注释确实是比较费劲的,所以很多程序员并不是很想写,明明写好代码就完成了需求开发,现在还得在每个代码加注释,实在是苦力活。
确实如此,写注释并不是技术活,而是苦力活,因为它只是把代码逻辑中文字解释一下。
强大的豆包MarsCode,它能够阅读你的代码,并且基于你写的代码逻辑,能生成代码注释,而且生成的注释还是很符合规范的,以后这种写注释的活,交给豆包MarsCode就行了,再次极大节省了程序员们时间和精力(PS:偷笑,又又又增加咱们摸鱼的时间了)。
我们选中没有注释的代码片段,右击选择【代码注释】,此时豆包MarsCode会分析这段代码的主要功能,然后生成代码注释。
最后我们只需要点击"Apply",然后选择「全部采纳」,瞬间完成代码替换,将有注释的代码替换了原来的代码。
项目上手困难,有解了!
在公司写代码的时候,都会遇到一些痛苦的事情,比如很多代码都没有注释和文档,全靠口口相传,特别是刚入职新公司的时候,面对这样的新项目都是一脸懵逼的状态。
再加上自己是个 I 人,也不好意思经常多问同事,生怕别人觉得我太菜,所以都是自己默默加班,把代码一行一行的啃下来,来适应公司的开发需求。
每当面临这种事情的时候,心里都会想,要是有一个不厌其烦的的编程助手能让我一直问各种项目的问题,并能给我系统化解答的话,就能很快的上手新项目的开发了。
好在,「字节的豆包MarsCode」就能完成这个事情,它能瞬间读懂你的项目,协助我们快速的了解和上手新项目。这样在面对大型项目,也不再怕了,直接用 IDE 打开项目之后,接着用「字节的豆包MarsCode」,跟它聊聊天就能把项目的架构和功能都能理清楚了。
我现在随便在 Github 仓库下载了一个代码,然后直接问豆包MarsCode这个项目的架构和功能是什么?
当我们遇到不懂的代码的时候,直接让豆包MarsCode编程助手帮我们解释。
还能直接生成 API 文档,再也不担心公司文档不够详细的问题了。
甚至你还能问项目用了哪些设计模式,豆包MarsCode编程助手都能帮你总结好
当然,项目不知道如何运行项目,你都可以问豆包MarsCode编程助手。
最后
很多人担心 AI 编程工具会取代程序员的工作,担心自己被淘汰了。
我觉得大可不必担心,虽然现在的 AI 编程工具能力是很强,但是 AI 编程工具能力的发挥,是离不开使用者的创意和想法的。
AI 是一个很优秀的执行者,但是它目前无法很好判断自己做的事情是否是最贴合实际需求的,还需要程序员用开发者的思维去一步一步引导它往我们想要的结果去实现。
我们不应该去排斥 AI ,毕竟 AI 是将来的一个大趋势,我们更应该拥抱 AI、接受 AI、体验 AI。
让 AI 编程工具成为我们提升工作效率的小助手,释放一些重复性的工作,让我们更关注去攻破工作中复杂的业务场景,同时增加开发过程中的幸福感,而这也正是这些 AI 编程工具所存在的意义。
来吧,如果你在开发过程中,写过很多重复性的代码,面临过项目上手的困难,那你一定得要用上「豆包MarsCode 」,相信我,只要你用上了,就会后悔怎么自己没早一点用。
本文正在参加豆包MarsCode AI 编程体验家活动 :juejin.cn/post/745005...