好用的IntelliJ IDEA ChatGPT插件:NexChatGPT

随着ChatGPT的爆火,ChatGPT给我们的生产生活带来一定的影响,ChatGPT相关的工具插件潮水般的涌现。ChatGPT对IT的影响也不小,尤其是自动化编程,今天介绍几款IntelliJ IDEA中ChatGPT插件。

一、NexChatGPT

NexChatGPT是一款开箱即用的IntelliJ IDEA插件。即使你没有OpenAI账号也可以使用。 基于SSE(Server send event)技术,你可以很快的收到回答。在搜索框输入你的问题,然后点击send按钮或回车键,你可以很快接收到答案。

特点:免费无需账号,开箱即用

1.预览

2.安装

打开IntelliJ IDEA左上角File->settings->Plugins 搜索框搜NexChatGPT,点击install安装。

安装完成后,在 IDE 窗口的右侧可以看到插件入口。

微信扫码登录即可使用。

3.功能特征 ChatGPT正常功能使用变身机器人聊天解释代码给代码加注释生成测试用例生成单元测试用例代码优化 4.使用

鼠标右击显示本插件所有的功能

1. ChatGPT正常功能使用

2.变身机器人聊天

3.解释代码

解释圈起来的代码

response.reset();response.setHeader("Content-Disposition", "attachment; filename="audio.zip"");response.addHeader("Content-Length", "" + data.length);response.setContentType("application/octet-stream; charset=UTF-8");IOUtils.write(data, response.getOutputStream());

截图是给出上面代码的解释,比较准确的,省去了我们去百度。

4.帮我把每一行代码加上注释

response.reset();response.setHeader("Content-Disposition", "attachment; filename="audio.zip"");response.addHeader("Content-Length", "" + data.length);response.setContentType("application/octet-stream; charset=UTF-8");IOUtils.write(data, response.getOutputStream());

上图是给出的代码注释

// 重置响应response.reset();// 设置响应头,指定文件名response.setHeader("Content-Disposition", "attachment; filename="audio.zip"");// 添加响应头,指定文件大小response.addHeader("Content-Length", "" + data.length);// 设置响应类型,以便让浏览器识别文件类型为数据流response.setContentType("application/octet-stream; charset=UTF-8");// 将数据写入响应输出流IOUtils.write(data, response.getOutputStream()); 5.帮我生成测试用例

我计划生成一个手机号批量导入的方法

下图是ChatGPT给出的测试用例

测试用例:

测试上传空文件,期望返回错误信息。测试上传非Excel格式的文件,期望返回错误信息。测试上传Excel文件,但文件内容不符合要求(如没有手机号列),期望返回错误信息。测试上传正确格式的包含手机号的Excel文件,期望返回成功信息。测试上传重复手机号的Excel文件,期望返回部分成功信息,告知有多少号码导入成功/失败,以及导入失败的具体原因。测试同时上传多个Excel文件,期望返回错误信息。 6.帮我生成单元测试用例

import org.junit.Assert;import org.junit.Test;import org.springframework.mock.web.MockMultipartFile;import java.io.IOException;import static org.mockito.Mockito.*;public class AudioControllerTest { private AudioService audioService = mock(AudioService.class); private AudioController audioController = new AudioController(audioService); @Test public void testImportPhoneNo() throws IOException { // 假设要导入的文件名为 test.txt,内容为 1234567890 String fileName = "test.txt"; String content = "1234567890"; MockMultipartFile file = new MockMultipartFile(fileName, fileName, "text/plain", content.getBytes()); // 假设导入手机号码成功 when(audioService.importPhoneNo(file)).thenReturn("success"); // 调用接口进行测试 R result = audioController.importPhoneNo(file); // 验证结果是否正确 Assert.assertEquals(R.ok(), result); // 验证是否调用了对应的方法 verify(audioService, times(1)).importPhoneNo(file); }}

单纯的看代码内容以及上下文是没什么问题的,但是,如果使用还的结合实际的业务代码做调整。

7.帮我生成单元测试用例

byte[] data = sysGeneratorService.generatorCode(tables.split(","));response.reset();response.setHeader("Content-Disposition", "attachment; filename="audio.zip"");response.addHeader("Content-Length", "" + data.length);response.setContentType("application/octet-stream; charset=UTF-8");IOUtils.write(data, response.getOutputStream());

下面是给出的问题和方法

问题:

第4行代码中,response.addHeader()方法参数缺失"+"号,导致编译错误。第5行代码中,response.setContentType()方法中缺少charset的设置,可能导致乱码。

优化方案:

在第4行代码中,添加"+"号,连接字符串。在第5行代码中,添加charset=UTF-8。

给出优化的代码

//生成代码byte[] data = sysGeneratorService.generatorCode(tables.split(","));//设置response头信息response.reset();response.setHeader("Content-Disposition", "attachment; filename="audio.zip"");response.setHeader("Content-Length", "" + data.length);response.setContentType("application/octet-stream; charset=UTF-8");//将文件写入response输出流IOUtils.write(data, response.getOutputStream());

NexChatGPT所有的功能基本都给大家看了一遍了,IntelliJ IDEA+ChatGPT真的让程序员要起飞了。

想学习


比丘资源网 » 好用的IntelliJ IDEA ChatGPT插件:NexChatGPT

发表回复

提供最优质的资源集合

立即查看 了解详情