项目便捷开发-idea插件的推荐与使用

前言

这里主要介绍我平常真正用到且比较好用的idea插件,方便大家加快开发效率,部分图片gif借鉴自网络,虽然大多也有很多博客介绍过,但在公司技术分享时发现不管是新人和老人完全不知道这些插件,所以做了整理

一、功能性插件

1.lombok (项目必备)

支持lombok的各种注解,从此不用写getter setter这些 可以把注解还原为原本的java代码 非常方便。

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>版本</version>
    <scope>provided</scope>
</dependency>

1.1.@Data

@Data注解在类上,会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。

1.2.@Getter/@Setter

如果觉得@Data太过残暴(因为@Data集合了@ToString、@EqualsAndHashCode、@Getter/@Setter、@RequiredArgsConstructor的所有特性)不够精细,可以使用@Getter/@Setter注解,此注解在属性上,可以为相应的属性自动生成Getter/Setter方法,

1.3.@NonNull

该注解用在属性或构造器上,Lombok会生成一个非空的声明,可用于校验参数,能帮助避免空指针。

示例如下:

import lombok.NonNull;

public class NonNullExample{
  private String name;
  public NonNullExample(@NonNull Person person) {
    this.name = person.getName();
  }
}

1.4.@Cleanup

该注解能帮助我们自动调用close()方法,很大的简化了代码。

示例如下:

import lombok.Cleanup;
import java.io.*;

public class CleanupExample {
  public static void main(String[] args) throws IOException {
    @Cleanup InputStream in = new FileInputStream(args[0]);
    @Cleanup OutputStream out = new FileOutputStream(args[1]);
    byte[] b = new byte[10000];
    while (true) {
      int r = in.read(b);
      if (r == -1) break;
      out.write(b, 0, r);
    }
  }
}

如不使用Lombok,则需如下:

import java.io.*;
public class CleanupExample {
  public static void main(String[] args) throws IOException {
    InputStream in = new FileInputStream(args[0]);
    try {
      OutputStream out = new FileOutputStream(args[1]);
      try {
        byte[] b = new byte[10000];
        while (true) {
          int r = in.read(b);
          if (r == -1) break;
          out.write(b, 0, r);
        }
      } finally {
        if (out != null) {
          out.close();
        }
      }
    } finally {
      if (in != null) {
        in.close();
      }
    }
  }
}

1.5.@EqualsAndHashCode

默认情况下,会使用所有非静态(non-static)和非瞬态(non-transient)属性来生成equals和hasCode,也能通过exclude注解来排除一些属性。

@EqualsAndHashCode(exclude={"id", "name"})

1.6.@ToString

类使用@ToString注解,Lombok会生成一个toString()方法,默认情况下,会输出类名、所有属性(会按照属性定义顺序),用逗号来分割。
可以指定包含和不包含的属性

@ToString(exclude="id")

1.7.@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor

无参构造器、部分参数构造器、全参构造器。Lombok没法实现多种参数构造器的重载

1.8.@Slf4j 代替我们手写的日志

@Slf4j
@RestController
@RequestMapping(value = "/harbour")
public class HarbourController {
}

在这里插入图片描述

2.Translation (翻译插件)

开源地址:https://github.com/YiiGuxing/TranslationPlugin

2.1.Show Translation Dialog

打开翻译对话框。默认显示在工具栏上。默认快捷键:
在这里插入图片描述

2.2.Translate

取词并翻译。如果有已选择的文本,优先从选择的文本内取词,否则默认以最大范围自动取词(该取词模式可在Settings中配置)。默认显示在编辑器右键菜单上,默认快捷键:
在这里插入图片描述
在这里插入图片描述

2.3.Translate and Replace

翻译并替换。取词方式同Translate操作。默认显示在编辑器右键菜单上,默认快捷键:
在这里插入图片描述
在这里插入图片描述

3.Maven Helper

  • 原来的maven的操作方式
    在这里插入图片描述
  • 安装插件后可以直接在项目目录上操作,无需在右侧一层层展开目录查找想要的命令
    在这里插入图片描述
    这个插件只有当你经常需要操纵maven的时候你才会发现他的方便之处

4.Alibaba Java Coding Guidelines

安装完成后你会发现你代码中不规范的地方全都给你标注出来了,也提供了部分问题alt+enter的快速解决方案
在这里插入图片描述
使用如上方式,可对代码进行系统化扫描,产生一个清单

在这里插入图片描述

5.GsonFormat

一键根据json文本生成java类 非常方便
在这里插入图片描述

6.MyBatisCodeHelperPro(mybatis框架下请一定要使用一下,是我最喜欢的插件,他比想象的还要强大)

mybatis代码自动生成插件,大部分单表操作的代码可自动生成 减少重复劳动 大幅提升效率,作者更新版本和修改bug都很及时。

7.GenerateAllSetter

一键调用一个对象的所有set方法并且赋予默认值 在对象字段多的时候非常方便
在这里插入图片描述

8.String Manipulation(强大的字符串转换工具)

快捷键:alt + M

  • 递增

在这里插入图片描述

  • 去除空格

在这里插入图片描述

  • 格式化

在这里插入图片描述

  • 转换大小写

在这里插入图片描述

9.Restfultookit

9.1.快速定位接口

Spring MVC网页开发的时候,我们都是通过requestmapping的方式来定义页面的URL地址的,为了找到这个地址我们一般都是ctrl+shift+F的方式进行查找,大家都知道,我们URL的命名一个是类requestmapping+方法requestmapping,查找的时候还是有那么一点不方便的,restfultookit就能很方便的帮忙进行查找。
只要双击即可跳转到对应的controller接口中
在这里插入图片描述

9.2.自动生成请求参数并可发送请求

  • 根据我们的controller帮我们生成默认的测试数据,还能直接调用测试,这个可以是解决了我们每次postman调试数据时,自己傻傻的组装数据的的操作,这个更加清晰,比在console找数据包要方便多了

  • 只需要将请求地址和数据复制到postman对应区域即可进行测试
    在这里插入图片描述

9.3.ShowDoc中快速生成请求参数表格和返回数据

一个非常适合IT团队的在线API文档、技术文档工具,可以代替swagger的使用,手动管理生成文档,
在编写的时候就可以和插件相结合
网站地址:https://www.showdoc.cc/

  • 找到ShowDoc转换工具

在这里插入图片描述

  • 数据Restfultookit生成的参数

在这里插入图片描述

  • 生成表格

在这里插入图片描述

是不是比原来手写数据简单了许多

10.Sql Generator

  • 想自己写sql但是又不想打字段,选择其中一个
    在这里插入图片描述

  • 直接粘贴

SELECT id, area_name, country_id, pinyin, pinyin_initials, sort, english_name, state, is_deleted, create_by, create_time, update_time FROM area WHERE id = ?

11.Jrebel(热部署)

jrebel是可以热部署项目的一个工具,更改代码自动部署并不需要重启项目(在spring中的controller中,增加、修改方法都是可以进行热部署而不需要重启的),极大的提高工作效率。

  • 开启修改代码更新资源的配置
    在这里插入图片描述
  • 启动
    在这里插入图片描述

二、装饰性插件

1.Rainbow Brackets

他可以帮助我们写代码时有的时候嵌套太多格式又比较乱,他可以帮我们从颜色上区分括号的对应关系

在这里插入图片描述

2.CodeGlance

在右侧多一个全局预览条
在这里插入图片描述

3.activate-power-mode

这是一款让你在编码的时候,整个屏幕都为之颤抖的插件。这个我一开始装了,后来就懒得用了
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值