目录
- 1 背景介绍
- 2 快速入门
- 2.1 智能推荐功能
- 2.2 智能生成功能
- 2.2.1 智能注释
- 2.2.2 智能生成
- 2.2.3 智能调优
- 2.2.4 代码解释
- 3 高兼容性
- 4 即刻体验
1 背景介绍
Baidu Comate(智能代码助手)是基于文心大模型,结合百度积累多年的编程现场大数据和外部优秀开源数据,打造的新一代编码辅助工具。拥有代码智能、场景丰富、创造价值、广泛应用等多重产品优势,可实现“帮你想、帮你写、帮你改”的场景应用形态。提升编码效率,释放“十倍”软件生产力。
废话不多说,接下来直接上实操,文末附注册链接
2 快速入门
1. 安装 Baidu Comate
环境要求
操作系统版本:Windows 8.1 及以上、macOS、Linux;
JetBrains版本:2021.1 及以上版本;
步骤1:安装 Baidu Comate
以在 IntelliJ IDEA 中安装 Baidu Comate 为例。
点击 IntelliJ IDEA 界面中的 ‘File’ -> ‘Settings’ -> ‘Plugins’;
点击Marketplace选项卡,然后在搜索框中输入插件名称 ‘comate’;
在搜索结果中选择 Baidu Comate 插件,单击Install并重启IntelliJ IDEA。
2. 插件配置
- 插件安装重启后,右下角会弹出登录提示框;
点击去登录链接,唤起登录页面,支持百度、微信、微博、QQ扫描登录。
- 登录后可免费使用基础功能,高级功能每周可免费使用300次,如需无限制使用可购买
- 返回 IDE开始编码,即可体验 Comate 编码助手的各项功能
2.1 智能推荐功能
单行推荐是在续写代码场景中最直接、最高效的体现方式。在打开一个代码文件后,开始编码。在编码过程中稍微等待一下,即可看到 Baidu Comate 的推荐内容。
如果觉得推荐内容不错,即可使用tab键采纳,否则可以使用ESC键取消推荐。此外,在 Visual Studio Code 中,还可以按单词采纳部分推荐,方便按您的意图修改代码。
2.2 智能生成功能
2.2.1 智能注释
注释生成代码是针对一段注释内容,生成相关的代码片段。适用于能够使用一句话描述清楚需求的情形,或生成常见的算法片段。
当我们不清楚项目中一段代码的含义时,使用 Baidu Comate智能编码助手 可以一键为您解决问题,例:
项目中欧有如下代码
@RequestMapping("/islogin")public AjaxResult isLogin(HttpServletRequest httpServletRequest){if(UserSessionTools.getLoginUser(httpServletRequest) == null){return AjaxResult.success(0);}return AjaxResult.success(1);}
当我们不清楚具体的含义时,可以使用多种方式去完成解释操作
点击插件图标,或使用快捷键 ⌘Y 唤起 Baidu Comate;
在输入框中输入问题,点击发送按钮;
等待返回结果;
点击“复制”,将生成内容复制至剪贴板。也可以手动复制所需内容;
进一步提出您的需求,或开启下一轮对话。
- 函数注释
如果采纳,则此段函数注释即自动生成到代码函数上方,简单又方便,接下来,如果对整段代码的具体实现不是很清晰,使用 Baidu Comate智能编码助手 可以一键进行代码解释,只需要选中需要解释的代码即可
有了 Baidu Comate智能编码助手 再也不用担心看不懂业务代码啦 !
有了上述的代码解释,针对代码进行一步生成注释岂不是更加轻松,支持一键针对你的代码生成行间注释,并经过采纳之后可以直接应用
2.2.2 智能生成
1.先编写注释,在注释中描述你要写的代码内容,可以尝试生成一个完整的符合注释要求的代码内容
写一段注释说明,描述你想要实现的业务,然后按回车,可基于该注释生成代码,按Tab键采纳,否则按Esc键取消。咱们来个简单又经典的算法题吧,参考如下:
★求反数函数:给定一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如输入:x = 123 输出:321
当我们使用 对话生成的功能,生成我们想要的代码,例如:生成一段堆排序代码
同时也可以针对代码进行生成单元测试,即针对一段函数(方法),生成其对应的单元测试代码。
例:
/*** 实现验证码 存储到 session* @param request* @return*/
@RequestMapping("/getcode")
public AjaxResult getCode(HttpServletRequest request) {String[] codeArr = codeTools.createImage();// 将验证码存储到 sessionHttpSession session = request.getSession();session.setAttribute(ApplicationVariable.SESSION_KEY_CHECK_CODE, codeArr[1]);return AjaxResult.success("/image/" + codeArr[0]);
}
选中后,点击生成单测,即可生成单测代码,同时支持一键采纳代码 点击函数(方法)名前方的 Baidu Comate 图标,选择“函数注释”;
等待结果返回; 点击“采纳”,将注释内容插入函数(方法)头部。
package com.example.demo.controller;import com.example.demo.common.AjaxResult;
import com.example.demo.common.ApplicationVariable;
import com.example.demo.common.CheckCodeTools;
import com.example.demo.service.UserService;import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpSession;import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.*;@ExtendWith(MockitoExtension.class)
public class UserControllerTest {@Mockprivate UserService userService;@Mockprivate CheckCodeTools codeTools;@InjectMocksprivate UserController userController;private MockHttpServletRequest request;private MockHttpSession session;@BeforeEachpublic void setUp() {request = new MockHttpServletRequest();session = new MockHttpSession();request.setSession(session);}@Testpublic void testGetCode() {String expectedCode = "testCode";when(codeTools.createImage()).thenReturn(new String[]{"testImageId", expectedCode});AjaxResult result = userController.getCode(request);assertEquals(200, result.getCode());assertEquals(expectedCode, session.getAttribute(ApplicationVariable.SESSION_KEY_CHECK_CODE));verify(codeTools, times(1)).createImage();}
}
2.2.3 智能调优
调优建议是一个旨在帮助开发者便捷优化其代码质量的功能,通过大语言模型分析所选函数(方法),提供有针对性的建议,如使代码更加规范易读,或提高执行效率、减少资源消耗。
JetBrains IDEs
点击函数(方法)名前方的 Baidu Comate 图标,选择“调优建议”即可使用该功能:
Baidu Comate 点击之后即可生成代码分析,同时也可以生成修复后的代码,也可以一键采纳或者复制。
优化点总结:
方法命名更具描述性,从getCode改为generateCaptchaAndStoreInSession。
变量codeArr重命名为captchaDetails,更具描述性。
增加了对codeTools.createImage()返回值的空值和长度检查,以避免潜在的数组越界异常。
注释提供了更多关于方法和变量用途的信息。
2.2.4 代码解释
顾名思义,就是对你的函数或者选中的 支持解释完整函数代码、解释选中代码
点击「代码解释」后,会在左侧对话框中出现对代码的解释,帮助快速理解代码,这个解释帮助你更好的理解这段代码是在做什么。总之,这一切对初学者来说都是很友好的。
3 高兼容性
- 支持的编程语言 Language 当前 Baidu Comate 支持的语言/框架如下: Baidu Comate support
following languages: 后端(BackEnd): C、C++、Java、Python、Go、PHP、Rust
前端(FrontEnd):
HTML、JavaScript、CSS、Less、swan、San、Vue、Scss、Sass、Stylus、pug、mermaid
App端(APP): ObjectC、Kotlin、Swift 其它(Others):
Perl、Ruby、Shell、vhdl、GraphQL、Dockerfile - 支持的 IDE
JetBrains IDEs
IDE 类型(IDE type):IntelliJ IDEA、PyCharm、GoLand、WebStorm、CLion、PhpStorm、Android Studio 等
IDE 版本(IDE version):2021.1 - 2024
Visual Studio Code
IDE 版本(IDE version):1.70 +
Xcode
macOS版本(macOS version):v14 + - 支持的操作系统 System
Windows 8.1 + 、macOS
4 即刻体验
scenarios-homepage
基于文心大模型,结合百度积累多年的编程现场大数据和外部优秀开源数据,为你生成更符合实际研发场景的优质代码。
提升编码效率,释放“十倍”软件生产力。
点击文章下方链接, 即刻体验,实现无限可能 !↓↓↓↓
点击前往官方注册