IntelliJ IDEA 2020.2发布,诸多亮点助提效(上)

简介: IntelliJ IDEA 2020.2发布,诸多亮点助提效(上)

前言


各位小伙伴大家好,我是A哥。IDEA上个较大版本的发布,要追溯到4月份了:


image.png


时隔近4个月,北京时间2020-07-28深夜,IntelliJ IDEA再迎更新,这是2020年的第二个里程碑版本。


之前提到过,2020年是Jetbrain公司的20周年(小伙子长成大男孩了),有理由相信官方会立些Flag。所以自从官方在2020-01-20发布了其2020年的Roadmap后,我个人是有保持持续关注的,毕竟一方面是公司20周年,另一方面是21世纪的“新10年”,这么好的契机很适合搞事情。


上个版本(2020.1)发布后,带来了众多实用新特性,比如:中文支持、禅模式、Javadoc渲染等等,某些新功能可以显著提高效率,因此反响是一片叫好。无独有偶,作为2020年的第二个里程碑版本,它能给我们带来什么样的期许呢?


正文


按照惯例,来一张最新版IDEA启动图尝尝鲜:


image.png

我把2020.1版本启动图也扔在这供你对比,哪个更好看?


image.png


what’s new(新特性)


IntelliJ IDEA 2020.2做的改进重点体现在完全控制GitHub请求,包括在IDE中审查、合并 GitHub PR等。同时还提供了对Java15、Jakarta EE 9的支持,还包括Quarkus、microaut等等。


1、支持Java 15


尽管Java 15将在9月发布,IntelliJ IDEA 2020.2已经提前为此做好了准备,反应不可为不灵活,给个大大的赞👍。


说明:Java 15新特性啥的本文不提,毕竟这不是本文关注点所在


题外话:从JDK9之后,Oracle采用了新的发布周期:每6个月发布一个版本,每3年发布一个LTS版本。JDK15是继JDK9之后发布的第七个版本, 该版本依旧为非LTS版本,最新的LTS版本为JDK11(JDK17还未发布)。


image.png


2、相关问题内嵌提示


这个功能非常好用,特别对有些不使用RENAME功能的小伙伴来说是福音。


如果您通过更改具有外部使用的类、方法或字段的签名而引入了编译错误,IDE将用镶嵌提示通知您。单击相关嵌入提示,IDE将自动帮你打开Find工具窗口,列出了在外部文件中发生的所有相关问题。


看完这段话是不是还有点蒙,来吧,A哥给你准备了示例:


Person.java文件:


public class Person {
    public String eat(String food) {
        return "SUCCESS";
    }
}


Demo.java文件:


public class Demo {
    public static void main(String[] args) {
        new Person().eat("大鱼");
        new Person().eat("大肉");
    }
}


这时编译肯定一切正常。现在我做出改变:更改Person类的eat()方法名为eatDish(),结果如下图:


image.png


鼠标单击提示,自动帮你打开Find框且定位到问题所在:


image.png


就问你,这个功能爽不爽,实用不实用?


小贴士:在同一个.java文件内(即使是不同class),是不会类似提示的哦


3、运行时异常原因分析


一听这个功能名称,就觉得很厉害。快速定位问题一直是程序员的痛点,现在让工具来辅助你完成,效率更上一层楼。


新版IDEA为异常堆栈跟踪分析添加了数据流分析。点击堆栈跟踪时,IDE 可能会将您带到代码中出现异常的确切位置,并提供建议来帮助您了解发生此错误的原因。


下面用一个NPE异常作为示例感受一把,代码如下:


public static void main(String[] args) {
    Integer i = null;
    System.out.println(i.toString());
}


运行程序,抛出异常,控制台显示:


image.png


如红框所示,IDEA给出的建议是让我们创建一个断点,单击此“按钮”即弹出断点创建对话框:


image.png


不得不说,真的是方便了很多。

:老版本中效果截图,用以对比:


image.png


4、更好Stream API自动补全


Stream API在开发中太太太常用了,因此哪怕只是更智能一丁点的,带来的效率提升都可谓是大大的。


可以直接在集合或数组中直接输入Stream API方法名,IDEA 会自动插入 stream()。这适用于任何流操作(map、reduce、collect等所有操作都行)。


话外音:以后你就不用自己的手动的多写一步stream()了,开不开森


话不多说,来个栗子:


image.png


image.png


附:老版本中效果截图,用以对比:很明显根本就不支持嘛


image.png


5、Live Templates新增Java分组


相信这是很多小伙伴一直以来的一个痛点,毕竟咱们都是Java程序员,使用Live Templates几乎100%都是针对于Java代码的,然后老版本竟然还没有个Java分组,实在难受,我还记得我刚开始使用IDEA时就默默吐槽了这点。


现在好了,这个版本终于补上喽:


image.png


小贴士:你之前放在自定义分组里的还在那,不会给你自动挪过来的


:老版本中效果截图,用以对比:JavaScript分组都有竟然没有Java分组,服气


image.png

特别强调:此窗口是新增的,老版本并无此能力,也并无此窗口。所以,升吗?🙂


6、新增Problems窗口


此版本新增了一个Problems窗口,简直不要太赞。


显示与当前文件有关的警告和错误以及问题描述。在此工具窗口中,可以右键点击问题导航到遇到问题的代码行,方便你逐个修复。


image.png


另外,它在文件右上角还有问题总数、上/下导航按钮,可谓非常贴心:

image.png



相关文章
|
17天前
|
Java 开发工具 Maven
IntelliJ IDEA安装教程(超详细)
IntelliJ IDEA安装教程(超详细)
73 1
|
23天前
|
XML IDE 开发工具
别看你风吹头顶凉但你绝对没有过这样方便的插件Intellij IDEA 自带的 Vim
别看你风吹头顶凉但你绝对没有过这样方便的插件Intellij IDEA 自带的 Vim
40 0
|
12天前
|
JSON Kubernetes Go
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
24 0
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
|
12天前
|
安全
IntelliJ IDEA 快捷键大全(三)
IntelliJ IDEA 快捷键大全
74 0
IntelliJ IDEA 快捷键大全(三)
|
24天前
|
Kubernetes Ubuntu Linux
通过 IntelliJ IDEA 对 containerd 进行源码级调试
本文介绍如何在 Ubuntu 22.04 系统上,通过 IntelliJ IDEA 对 containerd 进行源码级调试。我们将从 containerd 的安装、源码编译、验证调试信息的存在,到最终的调试过程中,每一步骤都进行详细讲解。
通过 IntelliJ IDEA 对 containerd 进行源码级调试
|
28天前
使用IntelliJ IDEA查看类图,内容极度舒适
使用IntelliJ IDEA查看类图,内容极度舒适
24 1
|
1月前
|
Java 开发工具 数据库
IntelliJ IDEA 面试题及答案整理,最新面试题
IntelliJ IDEA 面试题及答案整理,最新面试题
62 0
|
1月前
|
前端开发 Linux 开发工具
选择文本编辑器:为什么我钟爱IntelliJ IDEA
选择文本编辑器:为什么我钟爱IntelliJ IDEA
25 0
|
1月前
IntelliJ IDEA汉化
IntelliJ IDEA汉化
19 0
|
1月前
|
数据可视化 Java Maven
爆赞!GitHub上首本IntelliJ IDEA操作手册,标星果然百万名不虚传
还记得刚开始工作的时候使用的是Eclipse,后面是当时公司第一批尝鲜IDEA的人。刚开始用起来其实蛮麻烦的,因为最开始还是带着Eclipse的思维。 比如在Eclipse中一个workspace中可以有多个project,但是在IDEA中就没有workspace的概念了,取而代之的是project,一个project中可以有多个module。 已经不止N次的被读者问到有没有IDEA的教程,其实我觉得这就是一个工具,无非就是一个熟能生巧的过程。在N + 1次被问到的时候,我觉得有必要肝一份使用手册了! 我也去搜了一下,发现确实没有一个完整的系列教程,就算有也都是两三年前的版本了。