idea中使用X-ChatGPT详解

简介: X-ChatGPT可以让编码更简单,可以做代码审查、解释代码、重构代码、优化代码、编写测试、添加注释、代码补全等功能。

一、X-ChatGPT安装

1、安装

在idea中依照路径Preferences->Plugins,在搜索框中输入“X-ChatGPT”,然后点击“Search”按钮,然后安装,重启idea,并且按照自己想要的方式进行登录即可使用。image.gif

二、使用介绍

我们在选中自己体检的代码的git记录时候会出现生成日报和代码审查这两个字眼

image.gif


在选中一段代码的时候,我们会看到这样一些功能,例如:加入感知、X-Prompt作用是可以自定义以代码为内容进行上送处理,X-ChatGPT显示也和之前的几个插件线上功能差不多。


image.gif

1、生成日报中发现的各种强大功能

我们在选中自己体检的代码的git记录时候会出现生成日报和代码审查这两个字眼,再点击

1、1生成日报

image.gif编辑

image.gif


可以在idea的左侧看到生成了日报,如果没有是需要登录官网来使用这些功能 ,虽然生成的日报功能一般,但是在这里让我发现了一个功能,

1、2设置

这个对话框的最左侧有一个设置的按钮,打开可以看到可以设置很多功能image.gif编辑

image.gif编辑

1、3各种强大的角色

在第三个按钮可以看到一些快捷功能image.gif


测试了一下linux的终端,感觉确实可以image.gif

image.gif

再所有面具里可以看到更多功能

2、代码审查

我们在选中自己体检的代码的git记录时候会出现生成日报和代码审查这两个字眼,在点击代码审查

image.gif编辑

image.gif

image.gif

可以看到这这个审查做的还是比较好的,但是我发现代码量比较大的情况下,它就受限了,实际多少可能要实地验证

3、X-Prompt

image.gif


当选中一段代码,在框里面写一个自己想让完成的事,看我让它用go写一段一样含义的代码,它很好的理解并且写出来了,真的很棒。

4、解释代码

选中一段代码,让其解释代码,可以看到解释的是真的好,

image.gif

image.gif

5、重构代码

选中一段代码,让其重构代码,也还行

image.gif

6、优化代码

选中一段代码让其优化,可以看到其不仅生成了优化代码,并且解释了优化原因,厉害

image.gif

image.gif

还可以重新优化

image.gif

7、查找错误

选中一段代码,让其查找错误,可以看到不仅找到了错误,并且生成了修复后的代码:

image.gif

8、编写测试

选中一段代码,让其生成测试代码,可以看到生成的测试代码也是可以直接运行的

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
public class PayStatusEnumTest {
    @Test
    public void testGetByCode() {
        PayStatusEnum success = PayStatusEnum.getByCode(1);
        assertEquals(PayStatusEnum.SUCCESS, success);
        PayStatusEnum fail = PayStatusEnum.getByCode(2);
        assertEquals(PayStatusEnum.FAIL, fail);
        PayStatusEnum wait = PayStatusEnum.getByCode(3);
        assertEquals(PayStatusEnum.WAIT, wait);
        PayStatusEnum cancel = PayStatusEnum.getByCode(4);
        assertEquals(PayStatusEnum.CANCEL, cancel);
        PayStatusEnum notFound = PayStatusEnum.getByCode(5);
        assertNull(notFound);
    }
}

image.gif

9、添加注释

选中一段代码,让其添加注释,可以看到生成的真的很详细,比一般写的详细多了

/**
 * 支付状态枚举类型
 */
public enum PayStatusEnum {
    SUCCESS(1, "支付成功"), // 支付成功状态,代码为1,描述为"支付成功"
    FAIL(2, "支付失败"), // 支付失败状态,代码为2,描述为"支付失败"
    WAIT(3, "等待支付"), // 等待支付状态,代码为3,描述为"等待支付"
    CANCEL(4, "取消支付"); // 取消支付状态,代码为4,描述为"取消支付"
    private int code; // 支付状态代码
    private String desc; // 支付状态描述
    /**
     * 枚举类型构造函数
     *
     * @param code 支付状态代码
     * @param desc 支付状态描述
     */
    PayStatusEnum(int code, String desc) {
        this.code = code;
        this.desc = desc;
    }
    /**
     * 根据代码获取对应的支付状态枚举值
     *
     * @param code 支付状态代码
     * @return 对应的支付状态枚举值,如果未找到则返回null
     */
    public static PayStatusEnum getByCode(int code) {
        for (PayStatusEnum payStatusEnum : PayStatusEnum.values()) {
            if (payStatusEnum.code == code) {
                return payStatusEnum;
            }
        }
        return null;
    }
}

image.gif

10、翻译文档

选中一段代码,让其解释代码,可以看到解释的很详细:

image.gif

image.gif

11、代码补全

我选中了这部分代码,让其进行代码补全

public static CopilotTest.PayStatusEnum getByCode(int code) {
           for (val payStatusEnum : CopilotTest.PayStatusEnum.values()) {
               if (payStatusEnum.code == code) {
                   return payStatusEnum;
               }
           }

image.gif

补全的代码为

public static PayStatusEnum getByCode(int code) {
    for (PayStatusEnum payStatusEnum : PayStatusEnum.values()) {
        if (payStatusEnum.getCode() == code) {
            return payStatusEnum;
        }
    }
    return null;
}

image.gif

并且给出了为什么补全:

在给定的代码中,我补全了方法的代码块。根据注释,该方法的作用是根据给定的代码获取对应的支付状态枚举值。我使用了增强的for循环遍历枚举类型的所有值,然后通过调用getCode()方法获取每个枚举值的代码,并与给定的代码进行比较。如果找到匹配的枚举值,则返回该枚举值;如果未找到匹配的枚举值,则返回null。

真的太牛啦。

 

这部分是大模型的功能,测试下来真的会省30%以上的开发量,安全起见今后觉得在企业内部之后有自己训练好的大模型,但是还在探索类似MetaGPT的产品,那样真的工作少了很多了。

目录
相关文章
|
12月前
|
人工智能 安全 Linux
​idea中使用X-ChatGPT详解
使用编程ai插件X-ChatGPT提高开发效率
180 0
|
4月前
|
Java 编译器 Maven
使用intellij idea搭建SSM架构的maven项目 详细
使用intellij idea搭建SSM架构的maven项目 详细
77 4
|
3月前
|
IDE Oracle Java
day4:JDK、IntelliJ IDEA的安装和环境变量配置
【7月更文挑战第4天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
165 0
|
3月前
|
网络协议 安全 Linux
在IntelliJ IDEA中使用固定公网地址远程SSH连接服务器环境进行开发
在IntelliJ IDEA中使用固定公网地址远程SSH连接服务器环境进行开发
71 2
|
4月前
|
IDE Java Scala
IntelliJ IDEA 2023.3 最新变化2
IntelliJ IDEA 2023.3 最新变化
|
4月前
|
Linux 开发工具 Windows
在WSL2中安装IntelliJ IDEA开发工具
在WSL2中安装IntelliJ IDEA开发工具
368 2
|
3月前
|
缓存 Java Maven
IntelliJ IDEA中无法加载jar包导致出现“cannot resolve symbol...”问题的解决
IntelliJ IDEA中无法加载jar包导致出现“cannot resolve symbol...”问题的解决
|
3月前
|
存储 Oracle Java
Java面试题:描述如何使用Eclipse或IntelliJ IDEA进行Java开发?
Java面试题:描述如何使用Eclipse或IntelliJ IDEA进行Java开发?
38 0
|
4月前
|
SQL 分布式计算 大数据
MaxCompute产品使用合集之如何在本地IDE(如IntelliJ IDEA)中配置MaxCompute (mc) 的任务和调试SQL
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
4月前
|
IDE Java 项目管理
Java入门——Intellij IDEA简介、使用IDEA开发程序、IDEA常用快捷键、IDEA其他操作
Java入门——Intellij IDEA简介、使用IDEA开发程序、IDEA常用快捷键、IDEA其他操作
54 3
下一篇
无影云桌面