IDEA2020版本正式公布曾经有3个月了,过后因为各方面起因(太懒)也没有去尝试新性能。于是这个周末特意去在另一个电脑上下载了最新版的IDEA,并尝试了一下。总的来说呢,体验上显著的晋升。

作为一个大版本的降级,天然也减少了许多新性能。集体体验了两天,

  • 反对Java14,并且能够间接通过IDE去间接下载JDK实现装置配置
  • 公布官方版汉化插件
  • 导航栏优化可间接跳转至办法或对象所在位置
  • 新增Mono字体(人称最适宜程序员的字体)
  • LightEdit模式
  • 终端的窗口拆分(程度/垂直拆分)
  • Zon(禅)模式
  • javadoc文档的渲染a
  • 新增新的主题
  • 更加智能的谬误检测
  • Debug加强预处理

激活办法:https://shimo.im/docs/XXGr3gW...

反对Java14

反对Records

用于获取申明数据类的办法,只通过一行代码就能够获取到数据。

public class Range {      private final int min;      private final int max;      public Range(int min, int max) {          this.min = min;          this.max = max;      }      public int getMin() {          return min;      }      public int getMax() {          return max;      }      @Override      public boolean equals(Object o) {          if (this == o) return true;          if (o == null || getClass() != o.getClass()) return false;          Range range = (Range) o;          return min == range.min && max == range.max;      }      @Override      public int hashCode() {          return Objects.hash(min, max);      }      @Override      public String toString() {          return "Range{" +            "min=" + min +            ", max=" + max +            '}';      }  }

如上数据类,无参构造方法;初始化时对成员变量赋值;成员变量只有getter办法;覆写了 超类 Object 的 equals 、hashCode、toString 办法。

应用Records只须要一样代码即能够实现上述性能

  public record Range(int min, int max) {}

如果你的IDEA没有配置JDK,能够间接在IDEA外部进行JDK下载安装配置。

instanceof模式简化

咱们常常会应用instanceof运算符将援用变量与类型进行比拟的代码。如果后果为true ,那么就能够将其显式转换为与之比拟的类型。

if (obj instanceof String) {      String s = (String) obj;      System.out.println(s);  }

Java 14中的instanceof模式匹配引入了instanceof运算符的模式变量。如果instanceof条件为true,则模式变量将绑定到要比拟的变量,从而防止了显式强制转换以应用其成员的须要。

于是咱们能够改成这种写法

  if (obj instanceof String s) {      System.out.println(s);  }

官方版汉化插件

官网这次更新之后反对了汉化版,汉化须要借助JetBrains官网提供的Chinese (Simplified) Language Pack EAP插件。可通过装置插件进行汉化

装置办法:

在Plugins 搜寻“Chinese”第一个就是咱们汉化时须要装置的插件。


我在另外一台电脑试着装置时,发现搜寻不到这个插件。如果有同学遇到同样的问题,能够去IDEA插件核心进行搜寻装置

地址:https://plugins.jetbrains.com...

依照提醒操作,下载相应的版本,而后进行装置即可,装置形式有两种

  • 间接将插件拖入至IDEA界面即可
  • 在plugins界面通过导入本地文件进行装置

汉化之后的界面如下图所示,目前来看大部分内容曾经汉化,还剩一点点菜单内容没有实现汉化。应用汉化之后忽然居然感觉不太会用了,我集体不倡议应用汉化的。

导航栏优化

在IDEA2020之后的版本能够通过点击.java文件导航到具体的办法或者对象所在的地位。再此之前的版本能够通过Structure界面进行地位跳转

新增Mono字体

一款被称为目前最适宜程序员的字体,新的版本下载之后自带了Mono字体。

长时间应用代码期间加重眼睛疲劳的问题。同时思考了字母的大小和形态等问题;它们之间的空间量,天然以等宽字体设计的均衡;一些看起来不必要的细节和符号之间不分明的区别,例如I和l。

对于旧版本IDEA,如果想自行装置Mono字体,能够通过官网自行下载安装

地址:https://www.jetbrains.com/lp/...

LightEdit模式

能够了解为是一个轻量级的编辑器,能够在不加载我的项目的状况下,关上某个文件。

这样咱们就能够用IDEA以编辑器的模式去关上Java文件,


如果须要关上并加载文件所在我的项目,只须要alt+enter之后抉择Open file in project 即可。

终端的窗口拆分

这个更新,感觉真的晋升了不少效率,多个终端在同一界面节俭了来回切换的麻烦。


应用时是这样的,有没有感觉效率晋升了不少呢?

Zon(禅)模式

一个能够让程序员全身心投入到写代码,不受外界烦扰的一种模式。

启用形式如下图所示:

  • Enter/Exit Presentation Mode:进入/退出 展现模式
  • Enter/Exit Distraction Free Mode:进入/退出 免打搅模式
  • Enter/Exit Full Screen:进入/退出 全屏模式
  • Enter/Exit Zen Mode:进入/退出 禅模式(一个终极模式,蕴含以上3种模式)

下图为禅模式,整个屏幕就是你的编辑页面,带上耳机关上禅模式,真的会有一种霎时全世界都喧扰的感觉!

javadoc文档的渲染

当咱们去浏览源码的正文或者一些帮忙文档API,可能含有各种标记,影响浏览,而通过javadoc渲染性能之后,会主动祛除一些不必要的题目。并且能够批改字体的大小,不便浏览!

如下是SimpleDateFormat中javadoc的一部分,是不是给人一种无奈读上来的感触。


用了JavaDoc之后呢,它就是这样的了

新增新的主题

在view中点击Quick Switch Scheme,而后在弹出的对话框中点击Themes,能够更换IDEA的主题。


新增了对立的IntelliJ Light主题,这个主题曾经在不同的操作系统中齐全对立了。不过就我集体而言,还是更新换用Darcula黑灰色主题格调。

谬误检测

比方咱们在写日期转化的时候不小心写错了,如下:

public static void main(String[] args){        SimpleDateFormat sdf =                new SimpleDateFormat("YYYY-MM-dd");        System.out.println("this is a boy");    }

这里呢,IDEA就会在YYYY字符上进行高亮显示,鼠标放上去就会提醒咱们,点击下方的Replace ‘YYYY’ with ‘yyyy’ 会主动帮咱们进行替换。

Debug加强预处理

如下代码

public static void main(String[] args) {        int a = 0;        while (a < 100) {            if (a == 3) {                System.out.println("+++++");            }            a++;        }    }

在第5行加了断点,当咱们debug启动时,第6行就会进行与判断False。


执行到a = 3时,会与判断为True。

总结

以上就是我这两天体验了一下IDEA2020版本之后的测评清单,还有很多性能须要在平时的应用中进行开掘。如果大家有什么新性能要分享欢送留言区进行留言。最初呢,倡议大家最好不要应用公司的电脑进行降级,免得引起不必要的麻烦耽搁了失常工作。

最初呢,我录制了一个视频上传至B站了,大家能够去看一下。顺便记得点赞哦

https://www.bilibili.com/vide...

文末福利

肝了全网,43份Java思维导图,须要自取!!!

《Java面试手册》V1.0版本,高清PDF收费获取

本文由博客一文多发平台 OpenWrite 公布!