目录
背景图片
就是idea代码界面会显示图片,注意调节后图片的透明度,防止干扰到阅读代码
Ctrl+Shift+A(或者help -> find action)调用弹窗后输入Set Background Image
在里面设定要设置为Image的图片,透明度调到15左右,保存即可。
Power Mode
打字特效插件 装逼可以,但建议不要使用 我电脑带不动
查找代码中隐藏的bug
FindBugs Eclipse中有插件可以帮助查找代码中隐藏的bug,IDEA中也有这款插件。
idea注释 如何在文字前面注释 (取消句首注释)
点击File->Settings 输入 code style进行搜索; 窗口内找到标签页 "Code Generation"
右侧三个框框如果有打钩全部取消掉,最后点击OK
阿里巴巴代码规约检测
检测JAVA代码中存在不规范得位置然后给予提示。规约插件是采用kotlin语言开发的。有一段时间我是使用这个规约,但是开启它后下面第二张图的黄色警告太多太多,有些警告不能改,因为是公司项目的规约。
Maven Helper解决Maven插件冲突
maven是个依赖管理工具,俗称仓库
Maven Helper解决Maven依赖冲突的插件 , 当发现依赖下载了还报找不到类的错误时
打开项目中的pom文件 ; 找到代码底部Dependency Analyzer
找到冲突,右键 Exculde排除冲突版本的jar包
GsonFormat
提供了一个json格式request/response,这时候你就需要将其定义成一个Java类,GsonFormat这款插件可以实现该功能
Lombok
JavaBean,这些Bean需要有getter、setter、toString、equals和hashCode等
Codota
增强了IDEA的自动补全功能
当你对某个变量进行赋值的时候,或不知道怎么写代码时。在写不经常写的servlet和jdbc时就出现不知道怎么写,原本想直接百度的,有这个插件方便多了,GitHub上怎么写的都展示出来;
如: reentrantLock 不知道怎么写;搜索栏输入reentrantLock ,点击search
.ignore
目前很多开发都在使用git做版本控制工具,但是有些时候有些代码我们是不想提到到我们的代码仓库中的,比如ide自动生成的一些配置文件,或者是我们打包生成的一些jar文件等,这时候就需要编写一个.ignore文件,来排除那些不想被版本管理的文件。
这里推荐一个好用的插件.ignore,他可以帮我们方便的生成各种ignore文件。
安装插件后,选中项目,右键新建的时候,会多出一个.ignore文件的选项,可以通过这个选项创建ignore文件。
Mybatis plugin
但是这款插件是收费的 试试 Free Mybatis plugin
目前ORM框架中,Mybatis非常受欢迎。但是,同时给很多开发带来困扰的就是Mybatis需要很多xml的配置文件,有的时候很难去进行修改。
使用方法1、鼠标悬浮到方法后 2.Ctrl+Enter打开操作列表
-
提供Mapper接口与配置文件中对应SQL的导航
-
编辑XML文件时自动补全
-
快捷键生成@Param注解
-
XML中编辑SQL时, 括号自动补全
-
XML中编辑SQL时, 支持参数自动补全(基于@Param注解识别参数)
- 根据Mapper接口, 使用快捷键生成xml文件及SQL标签
-
自动检查Mapper XML文件中ID冲突
-
自动检查Mapper XML文件中错误的属性
-
自动生成ResultMap属性
Database 插件
目前我最重要的作用是想要它生成的sql语句
1、在窗口的右边有个Database按钮,点击
2、 选择你需要的连接的数据库,添加数据库连接
3、 选择展示的数据库
4、右键选择Open Console可以打开控制台,做查询操作还能输出查询时间
先输入查询语句, 按住Alt + Enter键 变成下图,,好了 可以复制字段了
功能2
每当我写SQL想套娃时,(已经套了2次子查询以上),想查看一条SQL的消耗时间,我会想到这个 Database 插件
-- subwayusenum 的值用 count(allnum) - bususenum 这里套娃太多,要不要在java后台写
select sum(allcount) as allcount , completedate,count(allnum) as allnum,sum(bankcardtimes) as bankcardtimes ,
sum(bususetimes) as bususetimes, sum(allcount)-sum(bususetimes) as subwayusetime,
(select num as bususenum from( SELECT to_char(completeat,'hh24:00')as completedate ,count(distinct uno)::integer as num FROM completerecord
where to_char(completeat,'hh24:00') = b.completedate and completeat >= '2021-07-16 00:00:00' and completeat <= '2021-07-16 23:59:59' group by completedate) e) as bususenum,
0 as subwayusenum
from (
select count(1) as allcount , completedate,count(distinct uno) as allnum ,uno,
COALESCE(sum(case when paytype = 2 then 1 else 0 end),0) as bankcardtimes,
COALESCE(sum(case when qrcodetype = 1 then 1 else 0 end),0) as bususetimes
from (
SELECT qrcodetype, uno, completedate, paytype from (
SELECT 1 as qrcodetype,uno, to_char(completeat,'hh24:00')as completedate, reserve4::integer as paytype FROM completerecord
where completeat >= '2021-07-16 00:00:00' and completeat <= '2021-07-16 23:59:59'
union all
SELECT 2 as qrcodetype,uno, to_char(completeat,'hh24:00')as completedate, paytype FROM subwayrecord
where completeat >= '2021-07-16 00:00:00' and completeat <= '2021-07-16 23:59:59'
) t
)u group by completedate,uno
) b group by completedate ORDER BY completedate
复制SQL到 database插件的控制台 ,右键 Explain Plan
这里total cost不是运行时间,是消耗性能的成本
这条SQL用到Aggregate 两个分组(group by); 两个排序 orderby 他们成本挺高的
然后我在前面再加一个select套娃发现总成本35049 并没有增多
select *, allnum-bususenum as subwayusenum from(