12款神级idea插件,让你少些80%代码

 

图片

        日常的业务功能开发,大部分情况下,核心代码差不多只占了项目的20%,剩下的80% 基本就是一些体力活,配置项等;这80%的代码,却消耗了我们大量的时间,而这部分代码,也不会对我们带来大的提升,今天给大家推荐12款我个人常用的优质的插件,旨在快速帮大家完成这80%体力代码,将更多的时间投入在核心功能的开发,告别加班,告别996!

图片

1Easy Code

一个能帮我们快速将表映射成 Spring 项目中EntityControllerDerviceDaoMapper等文件,快速实现基础功能的插件

插件安装

插件中心搜索Easy Code 安装即可

图片

插件使用

第一步,添加一个数据源,连接对应的数据库

图片

第二步

在数据源中找到对应的表,右键选择Easy Code,即可快速生成

图片

2Easy Javadoc

一键快速帮你生成属性、方法、类文档注释的插件,文档注释轻松搞定

安装

插件中心搜索Easy Javadoc

图片

插件需要用到在线翻译,以下是各个平台api key的申请入口,可以根据自己的喜欢,申请对应的key,个人使用的话,每月的免费额度基本都能满足

  • 有道智云翻译申请地址:https://ai.youdao.com/

  • 百度翻译申请地址:https://api.fanyi.baidu.com/doc/21

  • 腾讯翻译申请地址:https://cloud.tencent.com/document/product/551/7372

  • 阿里云翻译申请地址:https://www.aliyun.com/product/ai/alimt

  • 微软翻译申请地址:https://azure.microsoft.com/

  • 谷歌翻译(需要魔法)申请地址:https://cloud.google.com/

配置

file -> settings -> other settings - EasyDoc中找到配置界面,分别配置上翻译的api key(必须)、自定义词库映射(可选)、模板信息(可选)

图片

win 快捷键

快捷键作用域说明
ctrl \类、方法、属性(光标放上面就行,不要双击选中!)生成当前文档注释
ctrl \选中的中文生成选中的中文的英文命名
ctrl \选中的非中文弹框展示翻译结果
ctrl shift \生成全部文档注释

mac 快捷键

快捷键作用域说明
command \类、方法、属性(光标放上面就行,不要双击选中!)生成当前文档注释
command \选中的中文生成选中的中文的英文命名
command \选中的非中文弹框展示翻译结果
command shift \生成全部文档注释

图片

其中 "dashabi" 就使用了自定义"小可爱"的映射

图片

问题说明

  • 不翻译

    按了快捷键,只生成了如下的空注释

    /**
    *
    **/
    

    就是翻译配置未生效,可以到各个翻译平台申请一下api key,配置上即可

  • 快捷键无效

    快捷键有可能被其他软件给占用了,可以在Settings -> Keymap -> Plug-ins -> Easy Javadoc中找到并设置一个新的快捷键

3Bito

一款非常实用的智能化聊天机器人插件,集成了GPT,可以为开发人员提供更快更准确的交互编程环境,不用魔法也能使用,能大大提升开发效率,之前也给大家推荐过,详细的使用教程可参考:IDEA 用上这款免费 GPT4 插件,生产力爆表了

4aiXcoder

国内首款基于深度学习的智能化软件开发工具,利用AI技术实现代码⾃动⽣成、代码⾃动补全、代码智能搜索等功能,提升开发者开发效率与代码质量

安装

图片

使用

  • 开启云端服务

    这里需要注册账号,登录,按着提示,一步步操作即可

    图片

  • 代码补全

    图片

5Lombok

Lombok 是一款针对 Java 语言的编译时插件,用于通过注解自动化生成重复的代码,减少一些常规的 Java 代码书写。

依赖

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.26</version>
</dependency>

插件

Lombok 不仅需要依赖,还需要安装对应的插件,在插件中心搜索Lombok,安装重启即可

图片

使用

在使用 Lombok 之前,一个对象的get、set、tostring,构造方法等等,写起来还是非常麻烦的,一个简单的对象,就需要写下面这么多代码:

/*** @author 公众号:一行Java* @title: UserInfo* @projectName ehang-spring-boot* @description: TODO* @date 2023/9/15 9:15*/
public class UserInfo {private String userName;private Integer age;public UserInfo() {}public UserInfo(String userName, Integer age) {this.userName = userName;this.age = age;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;UserInfo userInfo = (UserInfo) o;return new EqualsBuilder().append(userName, userInfo.userName).append(age, userInfo.age).isEquals();}@Overridepublic int hashCode() {return new HashCodeBuilder(17, 37).append(userName).append(age).toHashCode();}@Overridepublic String toString() {return "UserInfo{" +"userName='" + userName + '\'' +", age=" + age +'}';}
}

但一旦引入 Lombok ,这个事情就变的非常简单,三个注解就能实现上面的所有方法,代码也变得非常简洁,清爽;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;/*** @author 公众号:一行Java* @title: UserInfo* @projectName ehang-spring-boot* @description: TODO* @date 2023/9/15 9:15*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserInfo {private String userName;private Integer age;}

Lombok 支持的注解及说明

  1. @Getter / @Setter: 自动生成字段的 getter 和 setter 方法。

  2. @ToString: 自动生成 toString 方法。默认情况下,生成包含所有字段的 toString 方法。

  3. @EqualsAndHashcode: 自动生成 equals 和 hashCode 方法。默认情况下,生成包含所有非静态、非transient 字段的 equals 和 hashCode 方法。

  4. @NoArgsConstructor / @RequiredArgsConstructor / @AllArgsConstructor: 自动生成无参构造方法、必须参数构造方法、全参构造方法。

  5. @Data: 自动生成 getter、setter、equals、hashCode、toString 方法。

  6. @Builder: 自动生成建造者模式的代码,用于创建复杂对象。

  7. @Log: 自动生成日志记录变量,支持不同的日志框架,例如 @Slf4j 用于集成 SLF4J。

  8. @NoArgsConstructor(force = true) / @AllArgsConstructor(force = true): 自动生成无参构造方法、全参构造方法,并将字段设置为 final。

  9. @Cleanup: 自动管理资源,主要用于清除需要手动释放的资源,例如 IO 流。

  10. @SneakyThrows: 在方法体中自动捕捉并重新抛出异常,无需显式地进行异常处理。

  11. @NonNull: 生成非空检查代码。

  12. @Accessors: 提供链式调用风格的 setter 和 getter 方法。

  13. @Value: 创建不可变类,字段为 final,并自动生成 getter 方法。

  14. @Wither: 自动生成属性的不可变更新方法。

  15. @EqualsAndHashCode(callSuper = true): 生成包含父类字段的 equals 和 hashCode 方法。

6被禁用Lombok

当你所在的公司/团队禁止使用 Lombok 插件,只允许使用传统的方式来写get、set、toString这些基础方法,有没有方式能快速生成这些繁琐的体力活儿呢?IDEA 其实已经帮我们内置了快速生成这些方法的功能;

按下快捷键Alt + Insert

或者在对象中点击鼠标右键,选择Generate...

图片

选择你要生成的内容,就能快速生成对应的方法

图片

7GsonFormatPlus

一款用于快速将 Json 转换成 Java 对象的插件;现在的系统,前后端交互,绝大部分都使用了 Json ,因此在解析 Json 的时候,都需要一个对象来接收,使用这块工具,就可以通过 Json 文本,快速生成一个用于接收的 Java 对象,省去了逐个手敲属性的繁琐体力;

安装插件

在插件中心搜索GsonFormatPlus,安装即可;

图片

使用

使用快捷键:Alt + S

或者使用 Alt + Insert,然后选择GsonFormatPlus

又或者,在对象中点击鼠标右键,选择Generate,再选择GsonFormatPlus

左侧粘贴 Json 文本,点击 OK ,选择要生成的属性,下一步即可完成

图片

8GenerateAllSetter

一款一键调用set、get方法的插件;当开发中遇到一个大对象需要初始化,或者要获取一个大对象中的属性时,就单纯是调用他的get、set方法,就能让人写的人手软,这款插件就能完美的帮我们解决这个体力活。

插件安装

图片

插件使用

  • 一键调用set,get方法

    首先,鼠标的光标放在对象所处的行

    然后使用快捷键Alt + Enter,选择是生成get还是set,几个生成,set的生成有两种方式,一种是不赋值,一种是赋予属性的默认值,可以根据自己的实际情况来定:

    图片

  • 一键转换对象

    当我们需要做对象转换时,比如,模型对象转换成 DTO 对象,也可以借助这个插件一键生成

    图片

9String Manipulation

String 是使用最为频繁的数据类型,String Manipulation 插件能帮我们快速完成 String 的转换,如:大小写切换,排序,递增,转义,编码等。还支持对字符串的各种加、解密(MD5、Base64等)操作;基本包含了 String 常用的所有操作

安装

图片

快捷键

Alt + m

使用

以下是驼峰命名转换、加解密、大小写转换的示例

图片

还有更多的功能,可以根据自己的需要来选用

图片

10Restfultoolkit

一套 RESTful 服务开发辅助工具集,完美代替Postman;在 IDEA 中即可完成接口的测试,同时也能快速所搜接口,大大提高我们的检索,测试效率。

安装

插件中心搜索Restfultoolkit 即可快速安装

图片

快捷键

Ctrl + Alt + N

使用

  • 快速搜索接口

    当有Bug的时候,后端开发人员可能经常需要根据接口名称/地址来找到接口位置,全局的搜索Ctrl + Shift + R 是搜索的所有内容,要筛选出想要的内容还挺麻烦的;如果是自己写的代码,找起来也还能接受,一旦项目大,代码不熟悉,就如同大海捞针;那么就可以借助这个工具,来快速搜索接口,快捷键:Ctrl + Alt + N

    图片

  • 接口测试

    右侧的菜单中包含了项目中的所有接口,可以直接编辑请求对象快速发起接口测试

    图片

  • 对象转Json

    前面介绍了如何将 Json 串转换成 Java 对象,借助这个插件,就能快速将对象转换成 Json 文本串

    图片

11Key promoter X

当年,从 Eclipse 转 IDEA 的时候,快捷键就是最大的障碍之一;能熟练的使用快捷键,将能大大提高编码的效率;Key promoter X 就是一款协助记忆快捷键的插件

安装

插件中心搜索Key promoter X 即可

图片

效果

当你没使用快件操作某个功能时,插件就会提醒你其对应的快捷键是什么,日积月累,慢慢记忆

图片

12Free Mybatis plugin

一款能帮助我们在 MyBatis 中实现 Mapper 与 xml 之间跳转的插件

安装

插件中心搜索Free Mybatis plugin

图片

使用

图片

图片


熟练运用这12款插件,不出意外,相信大家的开发效率一定会有一个质的飞跃...

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

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

相关文章

性能测试工具之工作原理及意义

随着软件系统的不断复杂和用户需求的不断增加&#xff0c;对于软件性能的要求也变得越来越高。性能测试工具成为确保应用程序在各种条件下都能提供卓越性能的关键组成部分。本文将深入解析性能测试工具的工作原理&#xff0c;以便更好地理解这些工具在保障系统性能方面的重要性…

vue实现带缩略图的轮播图(vue-awesome-swiper)

demo 请复制打开 https://download.lllomh.com/cliect/#/product/E125504451206525 如点击链接跳转失败请复制网址到浏览器打开 1.引入swiper和vue-awesome-swiper插件 npm install swiper4 --save npm install vue-awesome-swiper3 --save2.在main.js中引入&#xff1a; …

什么是接口的幂等性,如何保证接口的幂等性?

✅作者简介&#xff1a;大家好&#xff0c;我是Leo哥&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo哥的博客 &#x1f49e;当前专栏&#xff1a; Java ✨特色专栏&#xff1a; MyS…

设备的层次结构 - 驱动程序的垂直层次结构

Windows操作系统是分层调用。其实在驱动程序中也可以是分层调用的。 驱动程序的垂直层次结构 不仅是WDM驱动&#xff0c;NT式驱动也可以分层&#xff0c;这主要是通过一个设备附加在另一个设备之上。因此&#xff0c;可以将WDM驱动模型看成是NT驱动模型的延伸。 设备的创建顺序…

appsmith安装手记:5.Sql server数据库容器再安装(yml)

上次安装好了sql server容器&#xff0c;但是appsmith创建数据源出现连接错误&#xff1a; [2024-01-30 00:25:52,186] userEmailttapp.com, sessionIdb99a2476-5c35-4a71-9e8e-25c9c3292cfa, threadboundedElastic-38, requestIdea262c1d-722b-4176-aac7-4b062d7066b6 - Opera…

迁移windows操作系统

最近有个朋友跟我说他电脑台卡了&#xff0c;我帮他大概看了下&#xff0c;归集原因磁盘还是机械硬盘&#xff0c;需要将他的电脑的磁盘的机械硬盘换一下&#xff0c;内存也比较小&#xff0c;4GB的&#xff0c;换一下&#xff0c;换成8GB的&#xff0c;本文只涉及到更换系统盘…

SimpleDateFormat 格式化 Date 时间戳

前言 Date 是 Java 中经常用来表示时间的类型&#xff0c;但将 Date 类型的数据发送给前端时&#xff0c;通常会呈现出乱码的状态&#xff0c;用户不宜理解&#xff0c;所以要通过 SimpleDateFormat 把 Date 类型的数据格式化为用户容易理解的格式 如下是 Date 的格式&#xff…

速过计算机二级python——第四讲:列表与字典

第四讲&#xff1a;列表与字典 列表定义定义索引切片 操作基本操作进阶操作 字典定义定义索引 操作基本操作进阶操作 二者转化列表->字典字典->列表 列表 定义 定义 列表是由一系列按顺序排列的元素组成&#xff0c;它可以包含任意的字母表中所有字母、数字或者字符。列…

clickhouse行转列的转换

1、原表select * from test 2、一个人的每个科目作为一行记录 改为一个人的所有科目作为一行记录 方式1 select name, sum(case when subject‘语文’ then score else 0 end) as chinese, sum(case when subject‘数学’ then score else 0 end) as math from test group by …

wangEditor v4的简单使用

当前文档是 wangEditor v4 版本的。 wangEditor v5 已经正式发布&#xff0c;可参考文档。 v5 发布之后&#xff0c;v4 将不再开发新功能。 介绍 English documentation wangEditor4 —— 轻量级 web 富文本编辑器&#xff0c;配置方便&#xff0c;使用简单。 官网&#…

TypeScript(十一) 类、对象

1. 类 1.1. 简介 TypeScript是面向对象的JavaScript。   类描述了所创建的对象共同的属性与方法。 1.2. 类的定义 class class_name { // 类作用域 }&#xff08;1&#xff09;定义类的关键字是class&#xff0c;后面紧跟类名&#xff0c;类可以包含以下几个模块&#xff…

PHP基础语法(上)

目录 前言 一、基础语法 1.1 标记 1.2 输出语句 1.2.1 echo 1.2.2 print 1.3 注释 1.3.1 单行注释 1.3.2 多行注释 1.4 标识符 1.5 关键字 二、数据与运算 2.1 常量 2.1.1 常量的定义和使用 2.1.2 预定义常量 2.2 变量 2.2.1 变量的赋值 2.2.2 超全局变量 2.3 数据类型 2.3.1 …

【2024美赛E题】985博士解题思路分析(持续更新中)!

【2024美赛E题】985博士解题思路分析&#xff01; 加群可以享受定制等更多服务&#xff0c;或者搜索B站&#xff1a;数模洛凌寺 联络组织企鹅&#xff1a;936670395 以下是E题老师的解题思路&#xff08;企鹅内还会随时更新文档&#xff09;&#xff1a; 2024美赛E题思路详解…

[网络安全] IIS----WEB服务器

一、 WEB服务器 WEB服务器 也叫网页服务器和 HTTP服务器使用协议: HTTP(端口:80) 或 HTTPS(端口443)浏览器:HTTP客户端网站: 一个或多个网页组成的集合 二、HTTP和HTTPS协议: HTTP : 是 HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09;的简写&#xff0c;…

【CSS】css选择器和css获取第n个元素(:nth-of-type(n)、:nth-child(n)、first-child和last-child)

:nth-of-type、:nth-child的区别 一、css选择器二、:nth-of-type、:nth-child的区别:nth-of-type(n)&#xff1a;选择器匹配属于父元素的特定类型的第N个子元素:nth-child(n)&#xff1a;选择器匹配属于其父元素的第 N 个子元素&#xff0c;不论元素的类型:first-child&#xf…

字节大佬含泪吐血总结系列之 ARP 协议详解(网络层)

字节大佬含泪吐血总结系列之 ARP 协议详解(网络层) 原文地址&#xff1a;https://github.com/Snailclimb/JavaGuide 文章目录 字节大佬含泪吐血总结系列之 ARP 协议详解(网络层)MAC 地址ARP 协议工作原理同一局域网内的 MAC 寻址不同局域网内的 MAC 寻址 每当我们学习一个新的…

帅气的性能监控平台Grafana(Windows下使用Grafana监控系统指标与GPU指标)

帅气的性能监控平台Grafana&#xff08;Windows下使用Grafana监控系统指标与GPU指标&#xff09; 前情提要 系统环境准备 windows_exporter下载 nvidia_gpu_exporter下载 prometheus下载 Grafana下载 安装指导 windows_exporter安装与nvidia_gpu_exporter安装 promethe…

vscode 如何修改c/c++格式化风格,大括号不换行

在Visual Studio Code&#xff08;VSCode&#xff09;中&#xff0c;若要修改C代码格式化的风格以实现大括号不换行&#xff0c;通常会借助于插件C/C扩展中的ClangFormat配置。以下是具体的步骤&#xff1a; 确保已安装了C/C扩展&#xff1a; 打开VSCode的扩展市场&#xff08;…

最新AI系统ChatGPT网站H5系统源码,支持Midjourney绘画局部编辑重绘,GPT语音对话+ChatFile文档对话总结+DALL-E3文生图

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧。已支持GPT…

学习笔记 | 微信小程序项目day01

今日学习内容 如何创建一个uni-app项目如何运行到微信微信开发者工具如何申请小程序appid如何配置tabBar轮播图demo 如何创建uni-app项目 使用HBuilder X 创建 如何运行到微信微信开发者工具 1、安装uni-app vue3 编译器 插件 2、安装微信开发者工具 微信开发者工具下载地址…