向工具人致敬。本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈、MyBatis、JVM、中间件等小而美的专栏供以免费学习。关注公众号【BAT的乌托邦】逐个击破,深入掌握,拒绝浅尝辄止。

[TOC]

前言

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

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

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

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

正文

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

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

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还未发布)。

2、相关问题内嵌提示

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

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

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

Person.java文件:

  1. public class Person {
  2. public String eat(String food) {
  3. return "SUCCESS";
  4. }
  5. }

Demo.java文件:

  1. public class Demo {
  2. public static void main(String[] args) {
  3. new Person().eat("大鱼");
  4. new Person().eat("大肉");
  5. }
  6. }

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

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

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

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

3、运行时异常原因分析

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

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

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

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

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

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

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

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

4、更好Stream API自动补全

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

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

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

话不多说,来个栗子:

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

5、Live Templates新增Java分组

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

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

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

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

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

IntelliJ IDEA 2020.2正式发布,诸多亮点总有几款能助你提效的更多相关文章

  1. IntelliJ IDEA 2020.3正式发布,年度最后一个版本很讲武德

    仰不愧天,俯不愧人,内不愧心.关注公众号[BAT的乌托邦],有Spring技术栈.MyBatis.JVM.中间件等小而美的原创专栏供以免费学习.分享.成长,拒绝浅尝辄止.本文已被 https://ww ...

  2. Kubernetes 1.13 正式发布,功能亮点一览!

    Kubernetes 1.13 正式发布,功能亮点一览!   Kubernetes 1.13 正式GA,这是2018年发布的第四次也是最后一次大版本,1.13也是迄今为止发行最快的版本,仅用10周时间 ...

  3. IntelliJ IDEA 2020 的Debug功能也太好用了,真香!

    写在前边 作为一个有点强迫症的程序员来说,所有的应用软件.开发工具都必须要升级到最高版本,否则就会很难受到坐立不安.日思夜想.茶饭不思.至于什么时候得的这种病我也记不清了,哈哈哈 IntelliJ I ...

  4. IntelliJ WebStorm 2020最新 永久破解激活教程【全网最强,可用至2100年】

    说明:都到了2020年,当然要用最新的IDE,目前最新是2019.3.1版本 ①IntelliJ WebStorm 2019.3.1安装永久破解[最强] 一. 在官网下载WebStorm安装包  链接 ...

  5. Intellij IDEA 2020.1.1 破解 永久有效 亲测100%成功

    申明:本教程 WebStorm 破解补丁.激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除. 前言 作为一个有强迫症的码农,怎么能忍受自己的开发工具跟不上潮流呢?笔者以前一直用 ...

  6. 程序员必须了解!IntelliJ IDEA 2020.2的新增功能

    IDEA 因为之前破解过,所以家里的电脑都是19版本的,用的也比较顺手,也就一直懒得去动他,但是,程序猿的好奇心可能真的挺重,猎奇心里,在网上也看到了很多关于2020版本的idea的各种好处,于是,闲 ...

  7. 【IDEA】IntelliJ IDEA 2020.1破解版

    IntelliJ IDEA 2020.1破解版 2020-09-09  14:58:56  by冲冲 安装链接: 1. 百度网盘下载地址链接:https://pan.baidu.com/s/1cxjz ...

  8. IntelliJ IDEA 2021.3 正式发布:支持远程开发、IDE故障排查等多项优化改进

    作者:程序猿DD 博客:https://blog.didispace.com/ 昨天刚刚跟大家聊了Jetbrains即将推出轻量级编辑器Fleet,以挑战 VS Code的消息,今天又收到了Intel ...

  9. 肝了两天IntelliJ IDEA 2020,解锁11种新姿势, 真香!!!

    IDEA2020版本正式发布已经有3个月了,当时由于各方面原因(太懒)也没有去尝试新功能.于是这个周末特意去在另一个电脑上下载了最新版的IDEA,并尝试了一下.总的来说呢,体验上明显的提升. 作为一个 ...

随机推荐

  1. 比Minikube更快,使用Kind快速创建K8S学习环境

    简述 K8S 如火如荼的发展着,越来越多人想学习和了解 K8S,但是由于 K8S 的入门曲线较高很多人望而却步. 然而随着 K8S 生态的蓬勃发展,社区也呈现了越来越多的部署方案,光针对生产可用的环境 ...

  2. igate(因特网网关)

    网关:Gateway 又称网间连接器.协议转换器.-----复杂的网络互连设备. 网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连.网关既可以用于广域网互连,也可以 ...

  3. Markdown-it-latex2img

    Markdown-it-latex2img LaTex plugin for markdown-it markdown parser,Server side MathJax Renderer. Bac ...

  4. js进度条

    第一步//====================.wrap,.circle,.percent{                  position: absolute;                ...

  5. windows挂载nas存储

    操作系统:windows server 2016 1.安装nfs客户端打开程序面板 2.点击下一步 3.点击下一步 4.下一步 5.这里只选择文件和存储服务器就可以 6.选择nfs客户端,安装 7.m ...

  6. MongoDB 逻辑还原工具mongorestore

    mongorestore是官方提供用来还原导入由mongodump导出生成的二进制备份文件的工具,通常与mongodump配合使用,关于mongodump工具的使用可以参考另一篇博文:MongoDB ...

  7. centos7----创建虚拟环境

    优点 使不同的应用开发环境独立 环境升级不影响其他应用,也不会影响全局的python环境 它可以防止系统出现包管理混乱和版本的冲突 安装 pip install virtualenv 创建虚拟环境 v ...

  8. day67 前后端数据交互

    目录 一.前后端传输数据的编码格式(contentType) 1 form表单 2 ajax请求 二.ajax发送json格式数据 三.ajax发送文件 四.django自带的序列化组件(drf做铺垫 ...

  9. 《SpringBoot判空处理》接开@valid的面纱

    一.事有起因 我们在与前端交互的时候,一般会遇到字段格式校验及非空非null的校验,在没有SpringBoot注解的时候, 我们可能会在service进行处理: if(null == name){ t ...

  10. 关于Pop!_OS 19.04有线网络始终正在连接

    一开始使用Pop!_OS时就遇到这个问题,开机进入系统后明明网络没问题,WiFi正常可用, 但是插入网线后有线网络始终显示正在连接,然后可能过一会儿还会弹出来网络激活失败. 但是有可能在使用很久之后再 ...