赞
踩
市面上现在有很多智能代码助手,当时互联网头部大厂百度也不例外,百度也有员工都在用并且都说好的 Baidu Comate。Baidu Comate(智能代码助手) 是基于文心大模型,结合百度积累多年的编程现场大数据和外部优秀开源数据,打造的新一代编码辅助工具。拥有代码智能、场景丰富、创造价值、广泛应用等多重产品优势,可实现“帮你想、帮你写、帮你改”的场景应用形态。提升编码效率,释放“十倍”软件生产力。
1.智能推荐
基于百度厂内优质编程现场大数据以及大量优秀的开源数据进行训练,Baidu Comate 可以通过分析当前代码的上下文语义环境,快速推理出下一行或下一段可能的代码内容,采纳方式高效便捷,从而减少您的实际输入,提高研发效率。
2.智能生成
Baidu Comate 支持注释生成代码、增强生成代码、生成单元测试、代码生成doc注释、代码解释、生成行间注释、长函数拆分等多种强大的智能生成功能,旨在全面满足多样化的研发场景需求,全方位提高研发效率。
3.智能问答
依托文心大模型,Baidu Comate 提供多轮对话智能问答功能,拒绝跳转和打扰,直接在 IDE 中解决您的研发问题,打造沉浸式的高效编码体验。
Comate是一款集成了百度强大文心一言技术的免费智能代码生成器。它不仅能够提供代码续写、代码补全、代码注释、代码解释、代码修复、单元测试、代码debug、注释生成代码、代码重构、修复建议、自然语言生成代码、代码问答以及长函数拆分等多项功能,而且能够显著提升开发者的编程效率,优化代码质量。
Comate支持的语言:
方向 | 语言 |
---|---|
后端 | C、C++、Java、Python、Go、PHP、Rust |
前端 | HTML、JavaScript、CSS、Less、swan、San、Vue、Scss、Sass、Stylus、pug、mermaid |
App端 | ObjectC、Kotlin、Swift |
其它 | Perl、Ruby、Shell、vhdl、GraphQL、Dockerfile |
Comate支持的IDE: 支持10+主流IDE,提供 VS Code、IntelliJ IDEA、GoLand、PyCharm、WebStorm、CLion、PhpStorm、Android Studio 等IDE插件,一键安装,即装即用
首先访问Baidu Comate 智能编码助手官网:Baidu Comate
点击免费使用
这里给出了很多我们使用插件的步骤和方法,我们点击登陆注册
我们很贴心的发现,这里甚至都不用我们去新注册Comate账号,直接登录百度大搜账号即可,账号密码登录,扫码登录,短信登陆都可。
Comate智能编码助手在很多编译器都支持插件,我们这里以在 JetBrains IDEs 中安装 Baidu Comate (以 IntelliJ IDEA为例)
官网下面也有一些步骤介绍,我来带大家实操一下。
首先进入环境设置settings中
在列表找到plugins或者搜索plugins都可以
然后输入comate找到Baidu Comate点击install
重启 IntelliJ IDE,重启成功后登录百度账号,即可开启Comate智能编码之旅。
当我们看到以下几个地方时,证明我们的Comate已经安装好了,此时我们需要登录一下
登陆成功后我们会发现这里显示已授权,我们就可以体验 Baidu Comate 编码助手的各项功能啦。
当我们点击/help之后发现Comate对话框给我们了一些Comate基础功能的介绍。
让我们来逐一体验一下Comate都有什么功能吧!
我们来写一个冒泡排序,使用Comate的代码推荐功能。
我们可以发现,当我们输入完方法名之后,下面的代码直接就写好了,这也太牛了吧!那如何采纳这些推荐的代码呢?
操作 | 按键 |
---|---|
采纳推荐 | Tab |
取消推荐 | esc |
查看上一推荐 | Alt + [ |
查看下一推荐 | Alt + ] |
按单词采纳推荐 | Ctrl + → |
按行采纳 | ctrl+↓ |
我们只需要按一下tab键,一个冒泡排序就给我们写好了,那怎么验证这个冒泡排序写的对不对呢?我们在主方法调用一下。
我就只写了个int,甚至int[ ]都没有写,Comate就知道我要干啥,直接帮我把数组的创建,bubbleSort()的调用,以及数组的打印就写好了,我们tab一键采用即可,我们运行一下main方法,验证一下Comate帮我们生成的冒泡排序是否准确呢?
我们可以发现,顺利的将我们int[ ]进行了排序并打印。
有的人可能会说,这冒泡排序也太简单了吧,是个人都会,那我们来写个快排?
我们写一个快速排序的注解,然后回车,我们看看会发生什么
这不就只是个方法吗,并没有具体的实现呀?别着急,我们tab采用后,再回车看看
我们可以发现我们一行代码没有写,只写了个注释,然后一个Hoare版的快速排序就帮我们写好了
我们来验证一下,我们发现顺利的排好序了,不得不说Comate真牛。
上述我们写的冒泡排序和快速排序,都是我们自己去测试写的对不对,这样太麻烦了,能不能让Comate帮我们生成相应的测试用例帮我们测试呢?当然可以的,话不多说,直接展示。
生成单测的方式有两种:
1.点击方法旁边的图标
2.选中代码,右键选择百度Comate代码工具,生成单测
我们点击之后,发现Comate控制台帮我们生成了各种测试用例,覆盖了各种各样的场景,有正数的,负数的,空数组的,一个数据的数组等等,不仅仅如此,而且它并没有影响我们的代码结构,而是先让我们去看生成的内容是否满足我们的需要,如果满足点击采纳才会影响我们的代码结构,如果不满足可以让Comate重新生成。
我们点击采纳后,它会在我们的test目录下生成对应文件名的Test文件
可能大家会问,快速排序我看不懂呀,能不能帮我解释一下,这都是小意思,看我展示:
这解释的也太详细了吧,随便拉一个小白都能看懂的感觉。
这样写代码一点注释没有,可能会被别人骂,Comate能帮我们生成注释吗?当然可以,Comate一共两种注释生成的种类,第一种是函数注释(主要解释该方法是干什么的,参数),第二种是行间注释(主要是解释每一行代码是干什么的)。
1.函数注释
同样是点击方法名左边的图标,选择函数注释
也是需要我们采纳才能在我们代码中生成。
2.行间注释
同样是点击方法名左边的图标,选择行间注释
我们还可以查看代码的变更,清晰的去看加了那些注释。
那Comate有什么类似于Chatgpt那种更适合中国宝宝的问答式呢?当然是有的,有两种打开方式:
1.快捷键 ctrl + shift + Y
2.点击编辑器右边Baidu Comate图标
在下面我们可以输入自己任何技术问题
好好好,这样整是吧,我拿到leetcode题试一下,随便选一道最经典的两数之和
我们复制题干,在对话框里粘贴一下。
我们将Comate生成的代码粘贴到leetcode上去,发现不仅通过了该题,而且击败了百分之99.51的用户,真的是太强啦
可能会有人说上面的代码太简单了,那好我直接拿出一个SpringBoot大型项目,看一下Comate适应的了
我们随便拉出来一个Controller接口,让Comate帮我们解释一下:
说实话,真的解释的蛮准确详细的。
我们加入一些无用代码,让Comate帮我们调优一下,看能发现不:
哎呦我去,不仅发现我刚刚故意添加的无用代码外,还帮我发现了一些其他的问题,参数名定义不清淅,还有一个没有使用的参数,这是我自己当时写项目都没有发现的问题,不得不说太赞了。
我们来试着看看Comate智能问答和百度只能小程序智能问答有什么区别:
我们试着问一下SpringBoot有什么特性:
Comate的回答:
百度智能小程序的回答:
个人觉得百度智能小程序回答的能更详细一些,我们再来问一下SpringBoot都有哪些常见的注解:
我们向AutoWork输入帮我生成一个俄罗斯方块小游戏
完整代码:
import pygame import random # 初始化pygame pygame.init() # 设置窗口大小和标题 WIDTH, HEIGHT = 400, 600 WIN = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("简易俄罗斯方块") # 定义颜色和常量 WHITE = (255, 255, 255) GRAY = (128, 128, 128) BLOCK_SIZE = 20 BLOCK_TYPES = [ [[1, 1, 1, 1]], [[1, 1, 1, 0], [0, 1, 0, 0]], [[1, 1, 0, 0], [0, 1, 1, 0]], # ... 添加其他方块类型 ] # 游戏主循环 running = True clock = pygame.time.Clock() def draw_grid(): for x in range(0, WIDTH, BLOCK_SIZE): pygame.draw.line(WIN, GRAY, (x, 0), (x, HEIGHT)) for y in range(0, HEIGHT, BLOCK_SIZE): pygame.draw.line(WIN, GRAY, (0, y), (WIDTH, y)) def draw_block(x, y, block_type): for i, row in enumerate(block_type): for j, cell in enumerate(row): if cell: pygame.draw.rect(WIN, WHITE, (x + j * BLOCK_SIZE, y + i * BLOCK_SIZE, BLOCK_SIZE, BLOCK_SIZE)) # 初始化游戏状态 current_piece = BLOCK_TYPES[random.randint(0, len(BLOCK_TYPES) - 1)] current_piece_x = (WIDTH - len(current_piece[0]) * BLOCK_SIZE) // 2 current_piece_y = 0 while running: # 处理事件 for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # 清除屏幕 WIN.fill((0, 0, 0)) # 绘制网格 draw_grid() # 绘制当前方块 draw_block(current_piece_x, current_piece_y, current_piece) # 更新方块下落(这里简化处理,每次循环下落一格) current_piece_y += 1 if current_piece_y > HEIGHT - len(current_piece) * BLOCK_SIZE: # 方块触地,生成新方块并重置位置 current_piece = BLOCK_TYPES[random.randint(0, len(BLOCK_TYPES) - 1)] current_piece_x = (WIDTH - len(current_piece[0]) * BLOCK_SIZE) // 2 current_piece_y = 0 # 更新屏幕显示 pygame.display.update() clock.tick(10) # 控制游戏速度 # 退出pygame pygame.quit()
运行截图:
随着技术的不断发展,百度Comate代码助手的未来展望令人兴奋。它将继续改进并推出新功能,以满足不断演化的编码需求。它也将继续服务更多的企业和开发者,帮助他们在竞争激烈的市场中脱颖而出。在未来,我们可以期待看到更多企业和开发者受益于百度Comate的智能编码能力,加速创新,实现更高的生产力。
作为一名在百度呆过近3个多月的人员,在公司内部就一直在用,我真心觉得Comate是一款良心产品,能大大提升我们的开发效率,节省时间,我希望越来越多的人发现这款开发神器,快来点击下载吧:Baidu Comate 智能编码助手官网
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。