前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >工欲善其事必先利其器-IDEA-Plugins-吐血推荐

工欲善其事必先利其器-IDEA-Plugins-吐血推荐

作者头像
一个程序猿的异常
发布2023-07-24 18:08:44
2890
发布2023-07-24 18:08:44
举报
文章被收录于专栏:一个程序猿的异常

缘起

作为一个资深 Java 开发程序猿,每天都离不开编辑器的帮助。还记得刚开始学习 Java 编程的时候,使用 Eclipse、MyEclipse 作为日常开发工具。后来工作以后,跟 Intellij IDEA结下了不解之缘,刚开始还是很不习惯的。毕竟 Eclipse 已经足够强大,可以满足日常开发的需求,何必再花时间再去学习其他工具?刚开始改变是困难的,但是大家都说IDEA够牛逼,作为一个资深程序猿肯定不能落伍啊,所以卸载掉了Eclipse强制自己使用。后来用了一段时间才发现 IDEA 是的真的强大。真香~ 自己一直用的是免费的正版!具体怎么申请下篇文章介绍!

下面直接进入正题,推荐下自己一直使用的几款插件。

插件列表

  • Lombok(简化代码,让实体类更简洁)
  • Alibaba Java Coding Guidelines(代码风格检查)
  • Codota(代码自动化提示)
  • Maven Helper(jar包依赖冲突解决神器)
  • translation(翻译插件,不会命名的时候一个快捷键快速翻译)

插件安装

这里以Lombok插件为例,安装方式一致,其余插件不在赘述。

安装路径File-->Settings-->Plugins-->Marketplace搜索框输入lombok进行查找,点击install按钮开始安装,安装完成后点击Restar IDE等待重启完成。

插件使用

Lombok

pom.xml中添加依赖
代码语言:javascript
复制
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.12</version>
    <scope>provided</scope>
</dependency>
Lombok features
  • @Data 注解在 上;提供类所有属性的 get 和 set 方法,此外还提供了equals、canEqual、hashCode、toString 方法。
  • @Setter 注解在 属性 上;为单个属性提供 set 方法; 注解在 上,为该类所有的属性提供 set 方法, 都提供默认构造方法。
  • @Getter 注解在 属性 上;为单个属性提供 get 方法; 注解在 上,为该类所有的属性提供 get 方法,都提供默认构造方法。
  • @Log4j 注解在 上;为类提供一个 属性名为 log 的 log4j 日志对象,提供默认构造方法。
  • @AllArgsConstructor 注解在 上;为类提供一个全参的构造方法,加了这个注解后,类中不提供默认构造方法了。
  • @NoArgsConstructor 注解在 上;为类提供一个无参的构造方法。
  • @EqualsAndHashCode 注解在 上, 可以生成 equals、canEqual、hashCode 方法。
  • @NonNull 注解在 属性 上,会自动产生一个关于此参数的非空检查,如果参数为空,则抛出一个空指针异常,也会有一个默认的无参构造方法。
  • @Cleanup 这个注解用在 变量 前面,可以保证此变量代表的资源会被自动关闭,默认是调用资源的 close() 方法,如果该资源有其它关闭方法,可使用 @Cleanup(“methodName”) 来指定要调用的方法,也会生成默认的构造方法
  • @ToString 这个注解用在 上,可以生成所有参数的 toString 方法,还会生成默认的构造方法。
  • @RequiredArgsConstructor 这个注解用在 上,使用类中所有带有 @NonNull 注解的或者带有 final 修饰的成员变量生成对应的构造方法。
  • @Value 这个注解用在 上,会生成含所有参数的构造方法,get 方法,此外还提供了equals、hashCode、toString 方法。
  • @SneakyThrows 这个注解用在 方法 上,可以将方法中的代码用 try-catch 语句包裹起来,捕获异常并在 catch 中用 Lombok.sneakyThrow(e) 把异常抛出,可以使用 @SneakyThrows(Exception.class) 的形式指定抛出哪种异常,也会生成默认的构造方法。
  • @Synchronized 这个注解用在 类方法 或者 实例方法 上,效果和 synchronized 关键字相同,区别在于锁对象不同,对于类方法和实例方法,synchronized 关键字的锁对象分别是类的 class 对象和 this 对象,而 @Synchronized 的锁对象分别是 私有静态 final 对象 lock 和 私有 final 对象 lock,当然,也可以自己指定锁对象,此外也提供默认的构造方法。

Alibaba Java Coding Guidelines

关闭实时检测

在某些情况下,我们不希望对代码提示违规信息,比如我们在阅读Github开源项目代码的时候,如果界面出现一堆红色、黄色的提示,此时心里肯定是飘过一万只草泥马。这个时候我们可以通过Inspection的设置关闭实时检测功能。也可以关闭某条规则的实时检测功能或者修改提示级别。

  • 通过右键快速关闭(打开)所有规则的实时检测功能
  • Tools-->阿里巴巴编码规约-->打开/关闭实时监测功能

也可以关闭某条规则的实时检测功能或者修改提示级别。

  • 通过Settings --> Editor --> Inspections --> Ali-Check 进行手动设置
代码扫描

可以通过右键菜单、Toolbar按钮、快捷键三种方式手动触发代码检测。同时结果面板中可以对部分实现了QuickFix功能的规则进行快速修复。

扫描结果

检测结果直接使用IDEA Run Inspection By Name功能的结果界面,插件的检测结果分级为Blocker、Critical、Major。默认按等级分组,方便统计每个级别错误的数量。

Codota

AI line completions right in your IDE!Codota completes lines of code based on millions of Java programs and your context helping you code faster with less errors.

简单说就是借助 AI 帮你预测下一步要写的代码,并作出只能推荐。

书写代码自动提示
遇到不熟悉的类搜索代码示例

写代码的时候,某个类不熟悉用法,选中具体的类,右键选择 --> Get relevant examples

查看搜索的示例代码,有好的用法直接copy即可,又可以轻松交工了~

如果没有找到合适的代码,可以点击Show results on Web在浏览器查找更多样例。

Maven Helper

Maven Helper 插件安装成功后,打开项目中的 pom 文件,下面就会多出一个Dependency Analyzer试图

功能介绍
  • Conflicts(查看冲突)
  • All Dependencies as List(列表形式查看所有依赖)
  • All Dependencies as Tree(树形式查看所有依赖)
  • Show GroupId(显示group信息)
冲突jar包解决

点击Conflicts选项如果存在jar包冲突会在下方显示框列出并且会有红色显示。

解决冲突,右键单击红色区域,弹出菜单选择Exclude命令,对冲突进行排除。

translation

JetBrains IDEs/Android Studio 翻译插件,支持多语言互译、语音朗读。对于英语二把刀的福利。

申请有道智云翻译服务
  • 注册有道智云 http://ai.youdao.com/ 帐号并获取其应用ID密钥
  • 绑定应用ID密钥:Preferences(Settings) > [Other Settings] > Translation > 有道翻译
开始翻译
已有文本翻译

选中需要翻译的文本,使用快捷键ctrl+shift+y(不同平台会有差别)会自动显示翻译结果

随意翻译任何内容

使用快捷键ctrl+shift+y弹出翻译框,输入文本进行翻译

插件官方地址

  • LomBok https://projectlombok.org/features/all
  • Alibaba Java Coding Guidelines https://github.com/alibaba/p3c/wiki
  • Codota https://www.codota.com/
  • Maven Helper https://github.com/harishkannarao/MavenSurefireFailsafeExamples
  • translation http://yiiguxing.github.io/TranslationPlugin/
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一个程序猿的异常 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 缘起
  • 插件列表
  • 插件安装
  • 插件使用
    • Lombok
      • pom.xml中添加依赖
      • Lombok features
    • Alibaba Java Coding Guidelines
      • 关闭实时检测
      • 代码扫描
      • 扫描结果
    • Codota
      • 书写代码自动提示
      • 遇到不熟悉的类搜索代码示例
    • Maven Helper
      • 功能介绍
      • 冲突jar包解决
    • translation
      • 申请有道智云翻译服务
      • 开始翻译
  • 插件官方地址
相关产品与服务
腾讯云代码分析
腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,助力维护团队卓越代码文化。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档