IntelliJ IDEA - 10 款 IDEA 宝贝插件,YYDS!

好久没发这种实用贴了,最近用到了一些能提升工作效率的IDEA插件,给小伙伴们分享一下。相信我,我分享的这些插件,都是实实在在能解决实际开发场景中痛处的。

1、POJO to JSON

开发工作中,常常在设计完API后,会使用如GsonFormat工具来将设计文档上的JSON格式数据生成Java实体类,这可以节省很多时间。

不过,在某些情况下,我们需要将已有实体类转换为JSON格式数据,那我通常不得不依赖于手动执行单元测试或在main方法中,使用JSON处理库(例如fastjson等)来实现对象到JSON字符串的转换,是一件比较麻烦的事情。

使用POJO to JSON插件就让这件事容易的多,只要在实体类名上右键执行MakeJson,即可生成该类对应的JSON数据,而且它支持多层级的对象。

2、Cool Request

Cool Request是一款基于IDEA的HTTP调试工具,可以看成是轻量版的postman,它会自动扫描项目代码中所有API路径,按项目分组管理。一个类被定义为Controller且其中的方法被@RequestMapping或者@XXXMapping注解标注以后就会被扫描到。

对应方法左侧会出现一个标志,点击展开右侧边栏就可以像在Postman中一样进行调试。它支持CURL命令的导入导出、环境设置等功能,基本满足开发调试需求。而且,还支持将API导出到Apifox,使得文档导出变得非常简单。整体而言,这个功能确实很实用。

3、CamelCase

CamelCase是个命名风格转换插件,在进行代码规范扫描审查时,我觉得这个插件非常实用,修改起来很简单。举个例子:假设我将静态变量命名为aaaBaa,但作为一名资深程序员来说,这样命名静态变量显然不够专业啊!

public static final String aaaBaa = "aaaBaa";

为了更加规范些,我们要将变量名改为大写字母下划线分割的格式。使用CamelCase可以在 kebab-caseSNAKE_CASEPascalCasecamelCasesnake_case 和 空格风格之间切换。

mac快捷键为 ⇧+⌥+ U ,windows 下为 Shift + Alt +U。

4、any-rule

any-rule是一个正则表达式字典库,尽管在日常开发中其使用频率可能不是特别高,但它无疑是一个极为实用的工具。它涵盖了广泛的正则表达式类型,几乎包括了你能想到的所有规则。

使用直接右键选择AnyRule,支持搜索、正则验证、示例展示。

5、Grep Console

Grep Console可以自定义控制台输出格式,对控制台中不同级别的日志设置成不同的颜色。

验证一下不同级别的日志在控制台输出的情况,不同级别显示不同颜色,这样在控制台查看日志就一目了然了。

@Test
public void logTest() {log.info("公众号:程序员小富");log.error("公众号:程序员小富");log.warn("公众号:程序员小富");log.debug("公众号:程序员小富");log.trace("公众号:程序员小富");
}

6、GenerateO2O

GenerateO2O插件可以让我们少些很多代码,比如在开发接口时,常常需要将查询得到的PO对象转换为DTO对象。通常情况下,需要手动编写Converter转换方法,但借助这个插件,可以自动生成转化属性的代码,可以少写很多无趣代码。

7、Smart input

Smart input解决了一件很烦的事,它能帮我们在不同的编码区域内切换输入法状态。就是这个插件可以在我要写注释时它切换成中文输入,写代码就会切换成英文输入法,不用在手动切换了。

8、Squaretest

这款插件能够自动生成Mock单元测试,之前我认为它是一个可有可无的插件。直至公司开始实施代码质量管控并将单元测试覆盖率列为KPI的一部分。不过,对于习惯编写单元测试的同学来说,这个插件无疑是一把解放双手的利器!

这个插件生成的mock测试代码基本上可以直接运行,质量很高。不过好像现在收费了,退而求其次可以使用TestMe

9、TONGYI Lingma

通义灵码是阿里推出的一款AI编程插件,该插件可以通过自然语言描述你想要的功能,可直接在编辑器区生成代码;根据代码上下文补全代码;支持根据JUnit、Mockito、Spring Test、unit test、pytest 等框架生成单元测试(和Squaretest一样)。

10、Auto filling Java call arguments

例如,当在方法A中调用方法B时,由于方法B具有较多参数,使用该插件可以自动填充调用方法的参数,无需逐个手动填写,从而节省大量复制粘贴的操作。

总结

感谢这些插件的开发者们,为我们提供了如此便利高效的工具,极大地提升了我们编程的效率。希望大佬们继续为开发者社区带来更多优秀的工具和创新,让编程变得更加愉快和高效。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FPGA实现AXI4总线的读写_如何写axi4逻辑

FPGA实现AXI4总线的读写_如何写axi4逻辑 一、AXI4 接口描述 通道信号源信号描述全局信号aclk主机全局时钟aresetn主机全局复位,低有效写通道地址与控制信号通道M_AXI_WR_awid[3:0]主机写地址ID,用来标志一组写信号M_AXI_WR_awaddr[31:0]主机写地址&…

最短路问题之Bellman-Ford,SPFA算法,例题 负环

Bellman-Ford算法: Bellman-Ford算法用于解决带有负权边的单源最短路径问题。其基本思想是通过不断地松弛边来逐步求解最短路径。算法的主要步骤如下: 初始化:将源点到各个顶点的距离初始化为无穷大,源点的距离初始化为0。重复更…

IDEA2023版本创建Sping项目无法使用Java8

1. 问题复现 1.1 当前版本2023.3.2 1.2 创建项目时:不存在jdk8选项 提示报错 1.3 原因分析 Spring官方发布Spring Boot 3.0.0 的时候告知了一些情况,Java 17将成为未来的主流版本 2. 如何解决 2.1 替换创建项目的源 我们只知道IDEA页面创建Spring项目…

代码托管基础操作

在待上传代码文件夹中右键,打开Git Bash Here依次输入以下命令: git init(在本地初始化一个代码仓库,具体表现为会在你的文件夹里出现一个隐藏的.git文件夹) git add .(先把代码放到本地的一个缓冲区)添加当前目录下的…

【C++】从零开始认识泛型编程 — 模版

送给大家一句话: 尽管眼下十分艰难,可日后这段经历说不定就会开花结果。总有一天我们都会成为别人的回忆,所以尽力让它美好吧。 – 岩井俊二 \\\ ⱶ˝୧(๑ ⁼̴̀ᐜ⁼̴́๑)૭兯 //// &#…

AI大模型探索之路-训练篇3:大语言模型全景解读

文章目录 前言一、语言模型发展历程1. 第一阶段:统计语言模型(Statistical Language Model, SLM)2. 第二阶段:神经语言模型(Neural Language Model, NLM)3. 第三阶段:预训练语言模型&#xff08…

Python基础知识(二)

🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》 《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 1.输入和输出函数1.1输出函数1.2输入函数 2.常见运算符2.1赋值运算符2.2比较运算符2.3逻辑运算符2.4and逻辑与2.5or逻辑或2.6not逻…

c++二叉树的进阶--二叉搜索树

1. 二叉搜索树的概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大于根节点的值 它的左…

Swift-27-类的初始化与销毁

Swift的初始化是一个有大量规则的固定过程。初始化是设置类型实例的操作,包括给每个存储属性初始值,以及一些其他准备工作。完成这个过程后,实例就可以使用了。 简单来讲就是类的构造函数,基本语法如下: 注意&#xff…

C语言扫雷游戏完整实现(上)

文章目录 前言一、新建好头文件和源文件二、实现游戏菜单选择功能三、定义游戏函数四、初始化棋盘五、 打印棋盘函数六、布置雷函数七、玩家排雷菜单八、标记功能的菜单九、标记功能菜单的实现总结 前言 C语言从新建文件到游戏菜单,游戏函数,初始化棋盘…

JavaScript-4.正则表达式、BOM

正则表达式 正则表达式包含在"/","/"中 开始与结束 ^ 字符串的开始 $ 字符串的结束 例: "^The":表示所有以"The"开始的字符串("There"、"The cat"等&#x…

数据结构(八)——排序

八、排序 8.1 排序的基本概念 排序(Sort),就是重新排列表中的元素,使表少的元素满足按关键字有序的过程。 输入∶n个记录R1,R2...., Rn,对应的关键字为k1, k2,... , kn 输出:输入序列的一个重排R1,R2....,Rn,使得有k1≤k2≤...≤…

综合大实验

题目: 1、R4为ISP,其上只配置IP地址;R4与其他所直连设备间均使用公有IP; 2、R3-R5、R6、R7为MGRE环境,R3为中心站点; 3、整个OSPF环境IP基于172.16.0.0/16划分;除了R12有两个环回,其…

VUE父组件向子组件传递值

创作灵感 最近在写一个项目时,遇到了这样的一个需求。我封装了一个组件,这个组件需要被以下两个地方使用,一个是搜索用户时用到,一个是修改用户信息时需要用到。其中,在搜索用户时,可以根据姓名或者账号进…

[前端]NVM管理器安装、nodejs、npm、yarn配置

NVM管理器安装、nodejs、npm、yarn配置 NVM管理器安装 nvm(Node.js version manager) 是一个命令行应用,可以协助您快速地 更新、安装、使用、卸载 本机的全局 node.js 版本。 nvm下载地址:https://github.com/coreybutler/nvm-windows/releases 1.全部…

Unity面向切面编程

一直说面向AOP(切面)编程,好久直接专门扒出理论、代码学习过。最近因为某些原因😭还得再学学造火箭的技术。 废话不多说,啥是AOP呢?这里我就不班门弄斧了,网上资料一大堆,解释的肯定…

mybatis中<if>条件判断带数字的字符串失效问题

文章目录 一、项目背景二、真实错误原因说明三、解决方案3.1针对纯数字的字符串值场景3.2针对单个字符的字符串值场景 四、参考文献 一、项目背景 MySQL数据库使用Mybatis查询拼接select语句中进行<if>条件拼接的时候&#xff0c;发现带数字的或者带单个字母的字符串失效…

CPU资源控制

一、CPU资源控制定义 cgroups&#xff08;control groups&#xff09;是一个非常强大的linux内核工具&#xff0c;他不仅可以限制被namespace隔离起来的资源&#xff0c; 还可以为资源设置权重、计算使用量、操控进程启停等等。 所以cgroups&#xff08;control groups&#xf…

Netty学习——实战篇5 Netty 心跳监测/WebSocket长连接编程 备份

1 心跳监测 MyServer.java public class MyServer {public static void main(String[] args) {NioEventLoopGroup bossGroup new NioEventLoopGroup(1);NioEventLoopGroup workerGroup new NioEventLoopGroup();try {ServerBootstrap serverBootstrap new ServerBootstrap…

学习Docker笔记

在23号刚刚学完新版本的docker还想说回去继续学习老版本的springcloud课程里面的docker 结果一看黑马首页新版本课程出了&#xff0c;绷不住了。以下是我学习新版本docker的笔记&#xff0c;记录了我学习过程遇到的各种bug和解决&#xff0c;也参考了黑马老师的笔记&#xff1a…