idea是我们程序员的第二个女朋友,我们得把它弄的非常智能,才能更加高效的工作,那么这里就给大家介绍一些非常好用的插件,让我们的idea变的更加高效好用。
可以将原始外观更改为Material Design外观,使用之后的 idea 界面变得非常漂亮,心情好了,写代码的速度也变快了。
这个是帮我们一键生成对象所有的set方法,不用我们手动一个一个去写set,如果一个对象有十几个、二十几个属性,那用起来真的是不要太爽。
这个是将项目里的properties文件转换成yaml文件,没使用spring boot之前,大部分配置文件都是properties格式,那么只用spring boot之后推荐使用yaml文件,这时候就需要做格式转换,只需要一秒钟
mapper.java 和 mapper.xml 之间任性跳转。点击小箭头就能跳转。
在过往的 Java 项目中,充斥着太多不友好的代码:POJO 的 getter/setter/toString;异常处理;I/O 流的关闭操作等等,这些样板代码既没有技术含量,又影响着代码的美观,Lombok 应运而生。它让代码变得非常简洁。
<dependency>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
<version>版本号version>
<scope>providedscope>
dependency>
Alibaba Java Coding Guidelines
优化代码人工排查总是显得不放心,于是网上找了很多插件,这里推荐给大家一款神器,来自阿里的阿里巴巴开发公约。他会根据你的代码情况给出致命错误、错误、警告等等级的提示,让程序员快速定位问题代码进行修改。
在日常工作中,有时候会不注意引入冲突的包,有些导入的包里面又依赖的其他的包,可能会导致包冲突,导致我们程序报错,这款插件就是帮我们去检测有哪些包发生了冲突。
json是目前非常流行的格式,但是需要格式化成规范的格式,才有比较好的可读性,那么这款插件就是把零乱的json数据,格式化的非常工整,自定义个javaBean(无任何内容,就一个空的类)
步骤:
有的时候我们需要梳理业务逻辑或者阅读源码。我们需要了解整个调用链路,反向生成 UML 的时序图是强需求。这款插件就是这个作用。
在这里插入图片描述
这个插件可以实现配对括号相同颜色,并且实现选中区域代码高亮的功能。
在排查restful接口问题时,我们通常都是用command + shift + F 【Windows :ctrl+shift+F 】来查找相应的RequestMapping,而我们的请求URL是由类的RequestMapping和方法的RequestMapping组成,这时候去查找就不太方便了。而RestfulToolkit这款插件就可以很方便的查找出对应的URL。效果图如下:
快捷键Alt + \ (注意这里是反斜杠)
接口测试
RestfulToolkit另外还提供一个强大的功能,它会根据我们的controller提供的方法,自动生成请求数据。那在我们使用postman测试接口时方便了很多。
效果如图:
功能介绍:
整行代码自动补全
基于海量Java代码和你的代码上下文给予整行的代码建议,帮助你更快地编写错误更少的代码
搜索类似代码示例
如果你需要某些API的使用示例。Codota可以根据代码上下文帮你搜索出最好的代码示例。
绿色小图标是Codota 插件提供的,下面那些是IDEA自带的,还有百分比可以参考
any-rule 维护了一个常用正则表达式合集,并且本身是一个支持 Web/VS Code/idea/Alfred Workflow 多平台的正则表达式工具。
只需要输入你需要什么类型的正则表达式即可,比如身份证。你看,即有1代15位身份证号码正则表达式,也有2代18位身份证号码正则表达式,也有同时支持1代和2代号码的正则表达式,选中你想要的按下回车键即可:
(如果是window系统的话,快捷键是alt + a),不过需要注意的是,anyrule生成的是javascript的正则表达式,如果需要用到Java中。需要将最前面和最后面的"/"去掉。
由于Intellij idea不支持显示ascii颜色,grep-console插件能很好的解决这个问题, 可以设置不同级别log的字体颜色和背景色.
自定义设置后,可以运行下项目看下效果
配合版本控制工具git使用,非常直观显示当前项目分支,及代码未更新,未提交数目。省去查询分支和最新代码等不必要的麻烦,如下图:
JRebel是一套JavaEE开发工具。
Jrebel 可快速实现热部署,节省了大量重启时间,提高了个人开发效率。
JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。JRebel使你能即时分别看到代码、类和资源的变化,你可以一个个地上传而不是一次性全部部署。当程序员在开发环境中对任何一个类或者资源作出修改的时候,这个变化会直接反应在部署好的应用程序上,从而跳过了构建和部署的过程,可以省去大量的部署用的时间。
JRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效。
IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费时间浪费生命。
目前对于idea热部署最好的解决方案就是安装JRebel插件。
第二步:在线GUID地址:在线生成GUID
网址:在线GUID地址
如果失效刷新GUID替换就可以!
服务器地址:https://jrebel.qekang.com/{GUID}
安装成功之后就可以通过JRebel启动项目。这样修改完Java代码后,就可以通过快捷键 Ctrl+shift+F9 而不再需要重启站点这样繁琐浪费时间的操作了。
要想实现热部署,首先需要对Intellij按如下进行设置:
快捷键ctrl+shift+A,搜索:registry
或者
按快捷键 Ctrl+Shift+Alt+/ ,选择 Registry
运行项目时要点击图中红框中的按钮,即可运行:
修改代码(只测试了Java代码的修改)后,按快捷键 Ctrl + Shift + F9,运行后会提示有变化是否重新加载,选yes。完成加载以后,就已经实现了热更新效果。
需要定义一个函数,参数是待转换的类,返回值是要转换到的类型,然后使用generateO2O,即可自动帮你get set属性。
可以定义一个专门的转换类,比如ScheduleConverter 将转换代码放到这里,一方面方便复用,一方面避免转换类占据大量逻辑类的空间。当然可以使用 MapStruct。
(此外强烈推荐不要用类转换工具,修改属性不容易感知,容易出Bug!!)
最近项目使用IntelliJ IDEA来做后台的开发IDE工具,需要利用UML来做些设计。就给大家推荐这个
程序员总是想尽可能地避免写 BUG, FindBugs 作为静态代码检查插件,可以检查你代码中的隐患,并给出原因。
支持mapper互跳,方法自动生成,代码自动生成
官方是收费版,以下是破解版:
链接: 百度云下载
提取码:311r
数据库用的tinyInt 或者 smallInt生成java类型是 byte 和 short 两种类型。在java代码里面操作 byte 和 short 类型比较麻烦,经常需要强制转换,下面是设置使用Integer 来替代byte和short还有使用Java8的日期时间类型
创建Maven项目,为保证生成的代码不出丙错误提示,导入依赖:
<dependency>
<groupId>org.mybatisgroupId>
<artifactId>mybatisartifactId>
<version>3.5.4version>
dependency>
<dependency>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
<version>1.18.10version>
dependency>
<dependency>
<groupId>com.github.pagehelpergroupId>
<artifactId>pagehelperartifactId>
<version>5.1.11version>
dependency>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-webmvcartifactId>
<version>5.2.1.RELEASEversion>
dependency>
按alt+insert
生成的SQL语句:
生成好了建表语句后,到数据库中执行, 然后从数据库来生成crud代码
第一步:在Intellij中连接上MySQL数据库,在指定的表上右键
第二步:配置生成信息
说明:
exampleQuery:会生成一大堆的example文件,xml中的example代码看起来也很乱、建议使用方法名生成sql来替代。
不推荐mapper接口做继承,所以baseClass选项也不要选。现在代码都是自动生成的,mapper做继承仅能减少一些代码量,效率提升不明显。搞了继承后,看mapper接口对应的xml也变得比较麻烦,哪些方法要放到继承里面也比较难定义,有可能某些接口继承的方法根本用不到。 建议是每个接口只生成自己需要的xml方法。
-generatedComments选项建议选中,不然会出现如下所示的提示
第三步:查看各个生成的目录
只需要一个方法名,不需要参数和返回值,输入方法名后,按alt+enter–Generate mybatis sql 就可以生成了
方法名生成sql时支持if test
按alt+enter
光标放到resultmap标签type属性值上 -> alt + enter -> generate unUsed properties
结果:
创建一个接口 -> 光标放到接口名上 -> alt + enter -> generate mybatis mapper for current class -> 选择mapper映射文件位置
根据方法名 直接生成sql代码 方法名有自动提示 单表操作的代码只有写个方法名就好了
find方法
在DeptServiceImpl类中就可以查看到刚才生成的带有分页功能的代码。
可用于快速构造测试数据
可以使用 select query get 替代find开头,支持orderBy,distinct, findFirst