百度 Comate 终于支持 IntelliJ IDEA 了

大家好,我是伍六七。

对于一直关注 AI 编程的阿七来说,编程助手绝对是必不可少的,除了 GitHub Copilot 之外,国内百度的 Comate 一直是我关注的重点。

但是之前,Comate 还支持 VS code,并不支持 IntelliJ IDEA,今天看终于支持上了。

今天我们就来看看百度的 Comate 怎么样吧!

主页地址:https://cloud.baidu.com/campaign/comate/index.html

申请试用地址:https://cloud.baidu.com/survey/comate-apply.html

接入 Comate

申请试用

申请通过之后会将 key 发送到手机短信上,注意查收。

Comate 简介

基于 AI 的智能代码生成让你的编码更快、更好、更简单!Comate 由文心大模型 ERNIE-Code 提供技术支持,通过对百度多年积累的非涉密代码数据和 Github 头部公开代码数据进行训练。

我试用了几天,的确能提效不少,之前需要些 prompt 才能解决的问题,现在直接使用 Comate 插件,代码写的飞起。

不说提效 10 倍,1-2 倍还是有的,Java er 赶紧试用吧!

支持的编辑器

看文档,当前只支持 VSCode 和 IntelliJ IDEA。

支持的语言

已覆盖C、C++、Python、Java、Go、PHP、JavaScript等多个主流语言。

快捷键

选中所推荐代码:Tab

切换下一条推荐:alt/option+]

切换上一条推荐:alt/option+[

关闭当条推荐:Esc

查看所有推荐结果:鼠标hover到推荐内容后,显示Comate工具栏,点击 “Comate 补全生成”,在侧边栏中选中采纳

IntelliJ IDEA 接入
插件下载

插件下载可以到这个地址下载对应的版本插件:https://console.bce.baidu.com/comate#/plugin/download

之后打开 IDEA 设置,选择插件,点击设置按钮,选择 Install Plugin from Disk,然后直接选择下载的 zip 文件,注意不要解压缩

安装完插件之后,重启 IDEA,之后复制手机短信里的 key,粘贴到 IDEA 设置中的 Comate 窗口的 License 中,其他选项可以不填。

这样,你就设置好百度 Comate 拉,在 IDEA 右侧可以看到百度 Comate tab 标签,我们打开就能看到下面这个界面了。

能看到这个,那么恭喜你,安装成功了!

使用 Comate

  • 单行推荐

编码过程中稍做停顿,Comate即可按照它的理解,给你补全整行代码。

单⾏推荐是在续写代码场景中最直接、最⾼效的体现⽅式。在打开⼀个代码⽂件后,开始编码。在编
码过程中稍微等待⼀下,即可看到Comate的推荐内容。如果觉得推荐内容不错,即可使⽤ tab 键采
纳,否则可以使⽤ ESC 键取消推荐

  • 多行推荐

当待触发推荐的上下文,具备明显的完整逻辑关系(如一个新的方法、函数、判断、循环体等),可自动推荐一个逻辑完整的代码块。

多⾏推荐与单⾏推荐的使⽤⽅式⼀致。在符合多条推荐的条件下(如for循环、if判断等),模型会优先计算⼀次多⾏推荐的逻辑。如果逻辑完整,则会展示出多⾏推荐的结果。否则还是按照单⾏推荐的逻辑来展示。

  • 多条推荐自由切换

如期望查看更多推荐内容,可通过快捷键快速切换,也可打开多条推荐面板,选择最满意的一条并采纳。

在出现推荐内容后,⿏标移动到推荐内容上则会出现⾏间提示内容。⾏间提示主要⽤来使⽤更多能⼒,如多条推荐、触发其它动作等。

  • 生成代码注释

还可以选中整个方法快,生成注释,也能直接生成方法级别的注释,这个功能还是非常试用的,程序员们经常接手别人写的烂代码,注释也没有,这个时候这个注释功能能让我们省不少力!

  • 调优/重构

我们单击方法左侧的小 logo,选择调优建议,右侧 Comate 就会分析我们的代码,发现 bug,并给出优化有的建议。

官方文章中还介绍了根据注释生成代码的功能,我试用了一下,还不能实现,不知道是不是我操作问题,各位读者朋友们,也可以是去试一下,欢迎给我反馈!

赶紧去试试吧,真的能实现半天写代码,半天摸鱼!

扫描下面二维码,加我好友,回复「技术交流群」免费进群,还可以免费领取 Java 面试资料。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/190153.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android 相机库CameraView源码解析 (二) : 拍照

1. 前言 这段时间,在使用 natario1/CameraView 来实现带滤镜的预览、拍照、录像功能。 由于CameraView封装的比较到位,在项目前期,的确为我们节省了不少时间。 但随着项目持续深入,对于CameraView的使用进入深水区,逐…

哈希思想的应用

目录 1.位图 位图的实现 题目变形一 题目变形二 题目变形三 总结: 2.布隆过滤器 概念 布隆过滤器的实现 3.哈希切割的思想 1.位图 哈希表和位图是数据结构中常用的两种技术。哈希表是一种数据结构,通过哈希函数把数据和位置进行映射&#xff0c…

公司人事管理系统

1.问题描述 一个小公司包含四类人员:经理,技术人员,销售人员和销售经理,各类人员的工资计算方法如下:经理:固定月薪(8000);技术人员:月薪按技术等级&#xf…

【LeetCode】挑战100天 Day15(热题+面试经典150题)

【LeetCode】挑战100天 Day15(热题面试经典150题) 一、LeetCode介绍二、LeetCode 热题 HOT 100-172.1 题目2.2 题解 三、面试经典 150 题-173.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站,提供各种算法和数据结构的题目&…

AI视频生成工具——Runway gen2 全功能超详细使用教程(2)

昨天给大家分享了Runway Gen1的使用教程,一篇文章就能让你轻松掌握使用文字和图像从现有视频生成新的视频技能,还没有看过的同学们可以回看过往文章。 Runway视频生成功能有3大核心成品 Gen1:视频转视频工具Gen2:视频生成编辑工…

阅读笔记——《Removing RLHF Protections in GPT-4 via Fine-Tuning》

【参考文献】Zhan Q, Fang R, Bindu R, et al. Removing RLHF Protections in GPT-4 via Fine-Tuning[J]. arXiv preprint arXiv:2311.05553, 2023.【注】本文仅为作者个人学习笔记,如有冒犯,请联系作者删除。 目录 摘要 一、介绍 二、背景 三、方法…

集线器-交换机-路由器

1.集线器(Hub) 集线器就是将网线集中到一起的机器,也就是多台主机和设备的连接器。集线器的主要功能是对接收到的信号进行同步整形放大,以扩大网络的传输距离,是中继器的一种形式,区别在于集线器能够提供多端口服务,也…

Rust UI开发(三):iced如何打开图片(对话框)并在窗口显示图片?

注:此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库,用于为rust语言程序构建UI界面。 这是一个系列博文,本文是第三篇,前两篇的链接: 1、Rust UI开发(一):使用iced构建…

2023年09月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 运行下面程序后,角色的x坐标值是?( ) A:100 B:90 C:110 D:120 答案:C 利用变量值作为条件,控制循环的次数。变量从0~10的过程中每次角色的x坐标都增加了10,当变量值为1…

人力资源管理后台 === 左树右表

1.角色管理-编辑角色-进入行内编辑 获取数据之后针对每个数据定义标识-使用$set-代码位置(src/views/role/index.vue) // 针对每一行数据添加一个编辑标记this.list.forEach(item > {// item.isEdit false // 添加一个属性 初始值为false// 数据响应式的问题 数据变化 视图…

牛客 算法 HJ103 Redraiment的走法 golang语言实现

题目 HJ103 Redraiment的走法 实现 package mainimport ("bufio""fmt""os""strconv""strings" )func main() {scanner : bufio.NewScanner(os.Stdin)nums : make([]int, 0)nums_len:0dp:make([]int, 0)for scanner.Scan()…

汇编实验2-2 查找匹配字符串笔记

一、数据段 1.字符串结尾:13,10,$ 2.设置格式控制字符串(这样就不用再写clrf函数了) 3.设置存关键字和句子的地址标签,以关键字为例 二、代码段 1.输入字符串 2.字符串比较 2.1 每次的比较长度,KLEN->CL 2.2 设置目标串起始…

java学习part12多态

99-面向对象(进阶)-面向对象的特征三:多态性_哔哩哔哩_bilibili 1.多态(仅限方法) 父类引用指向子类对象。 调用重写的方法,就会执行子类重写的方法。 编译看引用表面类型,执行看实际变量类型。 2.父子同名属性是否…

游览器缓存讲解

浏览器缓存是指浏览器在本地存储已经请求过的资源的一种机制,以便在将来的请求中能够更快地获取这些资源,减少对服务器的请求,提高页面加载速度。浏览器缓存主要涉及到两个方面:缓存控制和缓存位置。 缓存控制 Expires 头&#…

力扣每日一题-统计和小于目标的下标对数目-2023.11.24

力扣每日一题:统计和小于目标的下标对数目 开篇 今天这道力扣打卡题写得我好狼狈,一开始思路有点问题,后面就是对自己的代码到处缝缝补补,最后蒙混过关。只能分享一下大佬的代码,然后我帮大家分享代码的思路。 题目链…

84基于matlab的数字图像处理

基于matlab的数字图像处理,数据可更换自己的,程序已调通,可直接运行。 84matlab数字图像处理图像增强 (xiaohongshu.com)https://www.xiaohongshu.com/explore/656219d80000000032034dea

python+pytest接口自动化(1)-接口测试基础

一般我们所说的接口即API,那什么又是API呢,百度给的定义如下: API(Application Programming Interface,应用程序接口)是一些预先定义的接口(如函数、HTTP接口),或指软件系…

【数据库基础】

目录: 前言什么是数据库主流数据库服务器,数据库,表关系MySQL架构SQL分类存储引擎 前言 剑指offer:一年又1天 什么是数据库 存储数据用文件就可以了,为什么还要弄个数据库? 文件保存数据有以下几个缺点:…

数据结构之时间复杂度与空间复杂度

1.算法效率 1.1 如何衡量一个算法的好坏&#xff1f; 比方说我们非常熟悉的斐波拉契数列&#xff1a; long long Fib(int N) {if(N < 3)return 1;return Fib(N-1) Fib(N-2); } 递归实现方式非常简洁&#xff0c;但一定好吗&#xff1f;如何衡量其好与坏&#xff1f; 1…

ES6之class类

ES6提供了更接近传统语言的写法&#xff0c;引入了Class类这个概念&#xff0c;作为对象的模板。通过Class关键字&#xff0c;可以定义类&#xff0c;基本上&#xff0c;ES6的class可以看作只是一个语法糖&#xff0c;它的绝大部分功能&#xff0c;ES5都可以做到&#xff0c;新…