推荐几款好用的IDEA插件

工欲善其事,必先利其器。IDEA是Java后端程序员必备的开发IDE,上面有着丰富的插件可以大大提升开发效率,这篇文章推荐几个我认为不错的IDEA插件

1.Lombok

Lombok是个很优秀的插件,也是我安装IDEA后最先安装的插件,它方便快捷,用注解和模板代码的形式让代码非常简洁。

首先搜索插件,安装,
在这里插入图片描述
使用时也非常方便,这是一个常用的例子,也是我比较喜欢使用的,首先@Data相当于生成了成员变量的get/set方法,然后链式赋值的写法会让初始化一个类特别的方便,代码也十分优雅。

@Data
@Accessors(chain = true)
@NoArgsConstructor
public class TestLombok {
    private String name;
    private Integer age;

    public static void main(String[] args) {
        TestLombok lombok = new TestLombok().setAge(10).setName("j4fan");
        System.out.println(lombok.getName());
    }
}

除此之外还有@Builder(建造者的形式初始化类),@SneakyThrows(欺骗Jvm编译时忽略报错,慎用)等其他注解。

当然Lombok被网友喷的也很惨,很多人不愿意用,有以下原因:

  1. 传染性 即如果你的代码使用了Lombok,其他依赖于你jar包的项目也需要使用Lombok才可以看你的源码。这对于开源软件或者大型组织里的软件确实有些向别人强推的意思。
  2. 代码可读性 这里通常说的是例如用了@Data,就无法像以前那样点set方法,右键findUsage就可以找到使用set方法的代码了。
  3. 隐形规则带来的潜在bug。例如@Data注解的类如果是某父类的子类,equals函数默认是不看父类的属性的。这和我们的期望不符,还需要添加@EqualsAndHashCode(callSuper = true)
@Data
public abstract class TestFather {
    protected String lastName;
}

@Data
//@EqualsAndHashCode(callSuper = true)
public class TestSon extends TestFather {

    private String firstName;


    public static void main(String[] args) {
        TestSon a = new TestSon();
        TestSon b = new TestSon();

        a.setLastName("fan1");
        b.setLastName("fan");

        a.setFirstName("ff");
        b.setFirstName("ff");

        System.out.println(a.equals(b)); //结果为true
    }
}

类似上面的例子在去掉@EqualsAndHashCode(callSuper = true)注解时,结果为true。

可以说使用的方便性也带来了维护的潜在难度,是否使用Lombok只能说见仁见智,合理使用避免bug的基础上能加快开发效率才是最好的。

2.CodeGlance

当一个Class文件特别大的时候,拖动这样的一个侧边栏,即可帮助我们快速定位到需要的位置。效果如图:
在这里插入图片描述
在这里插入图片描述
3.Rainbow Brackets

RainbowBrackets可以帮助你方便的区分大小括号的层级。效果如图:
在这里插入图片描述
在这里插入图片描述
这对于括号层级很多的代码,可以方便区分自己的代码在哪个括号范围内。

4.RestfulToolkit

有些小伙伴刚接手新的web项目,希望一次性知道项目controller的入口都在哪里,或者对外开放哪些接口,这个工具可以轻松实现,对Spring体系的接口都有效。
在这里插入图片描述
使用时,点开右边的侧边栏,可以查看到项目中所有的接口列表,点击接口会跳转到具体代码,同时可以对接口进行测试。
在这里插入图片描述

5.GsonFormat

将json转为Java类的插件,避免了一个个创建成员变量的麻烦。
在这里插入图片描述
假如我们有如下一个json需要生成Java的类

{
  "code": 200,
  "data": {
    "records": [
      {
        "brandId":521692,
        "brandName":"安佳"
      },
      {
        "brandId":513500,
        "brandName":"果実生活"
      }
    ],
    "page": 1,
    "pageSize": 10,
    "pageCount": 2,
    "totalCount": 20
  },
  "message":"查询成功"
}

我们可以新建一个空的类TestJsonFormat,如下操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.AlibabaCloudTookit

在这里插入图片描述
这个工具可以说是神器,在IDEA中有这样一款用于轻量级部署的工具,真的对阿里出品的东西是大写的服(btw在热搜榜单看到了AmazonCloudTookit,不知道两者是否有千丝万缕的关系)。

首先它的基础功能可以帮你替代终端工具例如XShell,只需在Host中添加登录所需的必要信息,即可快速登录服务器。
在这里插入图片描述

点击terminal即可登录服务器,点击upload即可快速向服务器指定目录上传本地文件,避免写scp的麻烦。
在这里插入图片描述
在这里插入图片描述

同样还有轻量级的CI功能,如果是个人应用可以省去了引入jenkins的麻烦,点击deploy to Host,填写jar包部署目录,写好脚本,之后便可一键部署,非常之方便。
除了部署在服务器上指定路径下,也可以部署在Docker中。
在这里插入图片描述
在这里插入图片描述
当然这是阿里的插件,对阿里云上的产品有更快捷的功能,例如ECS,RDS部署等,有兴趣可以自己研究。

7.jclassLib

jclasslib是反汇编的插件,类似于javap -c的功能,可以查看类的汇编码,对于了解常量池,以及同步块等需要查看汇编指令的知识时可以使用。
在这里插入图片描述
使用方法很简单,安装完成后,View->Show ByteCode With JclassLib即可
在这里插入图片描述

8.MavenHelper

这个插件就不多说了,可以参考我的这篇文章
如何解决Maven依赖冲突

9.Findbugs/SonarLint/AlibabaJavaCodingGuidelines

这类代码检查的插件也不少,功能都是差不多的,按需选择吧,我目前用的是SonarLint,对有问题的代码都会有响应的提示。
在这里插入图片描述

以上是我经常使用并且认为可以提高开发效率的插件,希望能给大家的开发带来帮助,提升开发体验。

祝大家编码愉快,工作愉快,欢迎关注我的公众号,一起分享交流,下篇再见!
Java技术小栈

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值