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 Formatter eclipse代码风格 地址  使用 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 helper maven帮助插件  

在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中,在有问题的代码下方也有提示。

 
restfultoolkit rrestful服务地址查找      

 

 

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读