Java-idea-常用插件

一、插件安装

settings→plugins→直接搜索框搜索,没有选择Browse Respositories→找到需要安装的插件,install即可

二、常用插件

插件名称简介地址备注 
Statistic代码统计地址开启视图:View→Tool windows 找到即可 
Key promoter快捷键提示地址感觉有点鸡肋 
CheckStyle-IDEA代码规范检查地址参看以前的帖子 
FindBugs-IDEA潜在 Bug 检查地址参看以前的帖子 
MetricsReloaded 代码复杂度检查地址 使用menu →Analyze → Calculate Metrics 
JRebel Plugin热部署地址  
CodeGlance 代码概览地址 在编辑代码最右侧,显示一块代码小地图 
GsonFormat   把 JSON 字符串直接实例化成类地址  
Eclipse Code Formattereclipse代码风格地址 使用 Eclipse 的代码格式化风格,在一个团队中如果公司有规定格式化风格,这个可以使用。 
lombok注解方式简化代码地址

文档
http://jnb.ociweb.com/jnb/jnbJan2010.html
maven地址:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.14</version>
</dependency>
View Code

功能概述:

@Getter / @Setter
  可以作用在类上和属性上,放在类上,会对所有的非静态(non-static)属性生成Getter/Setter方法,放在属性上,会对该属性生成Getter/Setter方法。
并可以指定Getter/Setter方法的访问级别。

@EqualsAndHashCode
  默认情况下,会使用所有非瞬态(non-transient)和非静态(non-static)字段来生成equals和hascode方法,也可以指定具体使用哪些属性。
@ToString
  生成toString方法,默认情况下,会输出类名、所有属性,属性会按照顺序输出,以逗号分割。
@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
  无参构造器、部分参数构造器、全参构造器,当我们需要重载多个构造器的时候,Lombok就无能为力了。
@Data
  @ToString, @EqualsAndHashCode, 所有属性的@Getter, 所有non-final属性的@Setter和@RequiredArgsConstructor的组合,
通常情况下,我们使用这个注解就足够了。
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@Cleanup:关闭流 
@Synchronized:对象同步 
@SneakyThrows:抛出异常

 

原理
1.运行时解析
运行时能够解析的注解,必须将@Retention设置为RUNTIME,这样可以通过反射拿到该注解。java.lang.reflect反射包中提供了一个接口AnnotatedElement,
该接口定义了获取注解信息的几个方法,Class、Constructor、Field、Method、Package等都实现了该接口,大部分开发者应该都很熟悉这种解析方式。

boolean isAnnotationPresent(Class<? extends Annotation> annotationClass);
<T extends Annotation> T getAnnotation(Class<T> annotationClass);
Annotation[] getAnnotations();
Annotation[] getDeclaredAnnotations();
View Code

2.编译时解析

2.1、Annotation Processing Tool
  apt自JDK5产生,JDK7已标记为过期,不推荐使用,JDK8中已彻底删除,自JDK6开始,可以使用Pluggable Annotation Processing API来替换它,
apt被替换主要有2点原因:
api都在com.sun.mirror非标准包下
没有集成到javac中,需要额外运行
  apt的更多介绍可以参见这里。
2.2、Pluggable Annotation Processing API
  JSR 269,自JDK6加入,作为apt的替代方案,它解决了apt的两个问题,javac在执行的时候会调用实现了该API的程序,这样我们就可以对编译器做一些增强,
这时javac执行的过程如下: 这里写图片描述

  Lombok就是使用这种方式实现的,有兴趣的话可以去看看其Lombok源码,对应注解的实现都在HandleXXX中,
比如@Getter注解的实现是HandleGetter.handle()。
还有一些其它类库使用这种方式实现,比如Google Auto、Dagger等等。

 缺点:无法支持多种参数构造器的重载

 
 UML类图插件  【settings→plugins 找到选中,UML】
使用:类上右键,diagram
 
 SSH集成  【settings→plugins 找到选中,SSH】 Tools→Start SSH Sessions 
 Database 数据库连接工具   
actiBPM工作流插件   
maven helpermaven帮助插件 

在pom上右键会有run maven,

删除goal,perferences→other setting→maven helper

 
sonarlint  代码扫描地址

SonarQube(曾用名Sonar)之前的提供的本地工具是需要依赖SonarQube服务器的,这样导致其运行速度缓慢。 
新出的SonarLint的扫描引擎直接安装在本地,速度超快,实时探测代码技术债务,给程序员最快速的反馈,排除代码异味的绝佳利器,帮助程序员获得Clean code。 
新版SonarLint也能链接SonarQube服务器,但这并不必要。 
本地安装SonarLint来做代码本地扫描,本地发现本地修改,而且能快速看到修改结果,快速处理代码臭味,有效控制技术债务。

使用Sonarlint只需要将其SonarLint Issues打开,打开方法是 “windows”->”Show View” -> “Others…” 中选择“SonarLint Issues”。
选择相应Java文件,SonarLint自动分析,分析结果几乎实时显示在SonarLint Issues中,在有问题的代码下方也有提示。

 
restfultoolkitrrestful服务地址查找   

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值