IntelliJ IDEA 2020.2正式发布,诸多亮点总有几款能助你提效
向工具人致敬。本文已被 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文件:
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()
,结果如下图:
鼠标单击提示,自动帮你打开Find框且定位到问题所在:
就问你,这个功能爽不爽,实用不实用?
小贴士:在同一个
.java
文件内(即使是不同class),是不会类似提示的哦
3、运行时异常原因分析
一听这个功能名称,就觉得很厉害。快速定位问题一直是程序员的痛点,现在让工具来辅助你完成,效率更上一层楼。
新版IDEA为异常堆栈跟踪分析添加了数据流分析。点击堆栈跟踪时,IDE 可能会将您带到代码中出现异常的确切位置,并提供建议来帮助您了解发生此错误的原因。
下面用一个NPE异常作为示例感受一把,代码如下:
public static void main(String[] args) {
Integer i = null;
System.out.println(i.toString());
}
运行程序,抛出异常,控制台显示:
如红框所示,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正式发布,诸多亮点总有几款能助你提效的更多相关文章
- IntelliJ IDEA 2020.3正式发布,年度最后一个版本很讲武德
仰不愧天,俯不愧人,内不愧心.关注公众号[BAT的乌托邦],有Spring技术栈.MyBatis.JVM.中间件等小而美的原创专栏供以免费学习.分享.成长,拒绝浅尝辄止.本文已被 https://ww ...
- Kubernetes 1.13 正式发布,功能亮点一览!
Kubernetes 1.13 正式发布,功能亮点一览! Kubernetes 1.13 正式GA,这是2018年发布的第四次也是最后一次大版本,1.13也是迄今为止发行最快的版本,仅用10周时间 ...
- IntelliJ IDEA 2020 的Debug功能也太好用了,真香!
写在前边 作为一个有点强迫症的程序员来说,所有的应用软件.开发工具都必须要升级到最高版本,否则就会很难受到坐立不安.日思夜想.茶饭不思.至于什么时候得的这种病我也记不清了,哈哈哈 IntelliJ I ...
- IntelliJ WebStorm 2020最新 永久破解激活教程【全网最强,可用至2100年】
说明:都到了2020年,当然要用最新的IDE,目前最新是2019.3.1版本 ①IntelliJ WebStorm 2019.3.1安装永久破解[最强] 一. 在官网下载WebStorm安装包 链接 ...
- Intellij IDEA 2020.1.1 破解 永久有效 亲测100%成功
申明:本教程 WebStorm 破解补丁.激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除. 前言 作为一个有强迫症的码农,怎么能忍受自己的开发工具跟不上潮流呢?笔者以前一直用 ...
- 程序员必须了解!IntelliJ IDEA 2020.2的新增功能
IDEA 因为之前破解过,所以家里的电脑都是19版本的,用的也比较顺手,也就一直懒得去动他,但是,程序猿的好奇心可能真的挺重,猎奇心里,在网上也看到了很多关于2020版本的idea的各种好处,于是,闲 ...
- 【IDEA】IntelliJ IDEA 2020.1破解版
IntelliJ IDEA 2020.1破解版 2020-09-09 14:58:56 by冲冲 安装链接: 1. 百度网盘下载地址链接:https://pan.baidu.com/s/1cxjz ...
- IntelliJ IDEA 2021.3 正式发布:支持远程开发、IDE故障排查等多项优化改进
作者:程序猿DD 博客:https://blog.didispace.com/ 昨天刚刚跟大家聊了Jetbrains即将推出轻量级编辑器Fleet,以挑战 VS Code的消息,今天又收到了Intel ...
- 肝了两天IntelliJ IDEA 2020,解锁11种新姿势, 真香!!!
IDEA2020版本正式发布已经有3个月了,当时由于各方面原因(太懒)也没有去尝试新功能.于是这个周末特意去在另一个电脑上下载了最新版的IDEA,并尝试了一下.总的来说呢,体验上明显的提升. 作为一个 ...
随机推荐
- Pytest 单元测试框架标记用例
1.Pytest 中标记用例 接参数 -k 来挑选要执行的测试项 pytest -k test_szdcs -s test_szdcs 为函数名称 -k 后面接的名称可以为函数名称.类名称.文件名称. ...
- Javascript 中 数组遍历 forin和forof 的区别
定义一个数组 let array = [1, 2, 3, 4]; for (let a in array){ console.log("遍历a的值 "+a+"”,数组中的 ...
- Markdown小白教学15分钟速成
第一部分 基础篇 演示第二阶标题 1.1 目录与标题 代码过程 一级标题: 最高阶标题 基础篇 ===== 二级标题: 演示第二阶标题 一 ----- 注意: 这里"="和& ...
- redis-cli
redis-cli --stat //监控key的数量,内存占用 redis-cli --scan //列出所有的key redis-cli --bigkeys //列出占用内存较大的key redi ...
- 什么是DevOps?该如何正确的在企业内进行实践
传统IT技术团队中通常都有多个独立的组织-开发团队.测试团队和运维团队.开发团队进行软件开发.测试团队进行软件测试,运维团队致力于部署,负载平衡和发布管理. 他们之间的职能有时重叠.有时依赖.有时候会 ...
- 图文详解Prometheus监控+Grafana+Alertmanager告警安装使用
一:前言 一个服务上线了后,你想知道这个服务是否可用,需要监控.假如线上出故障了,你要先于顾客感知错误,你需要监控.还有对数据库,服务器的监控,等等各层面的监控. 近年来,微服务架构的流行,服务数越来 ...
- 记一次开发CefSharp做浏览器时Shopify绑定不上Paypal问题
问题:CefSharp做浏览器时Shopify绑定不上Paypal. shopify绑定Paypal的流程大概是如下图所示 步骤1 步骤2 步骤3 步骤4 出现问题大概是在绑定最后一步,并没有如愿的返 ...
- scrapy(一):基础用法
Scrapy 框架 Scrapy 简介 Scray 是用python写的为了爬取网站数据,提取结构性数据的应用框架 Scrapy框架原理图 白话讲解Scrapy 运作流程 代码写好,程序开始运行... ...
- java 数据结构(三):java常用类 三 日期时间API
JDK 8之前日期时间API 1.获取系统当前时间:System类中的currentTimeMillis()long time = System.currentTimeMillis();//返回当前时 ...
- bzoj3673可持久化并查集 by zky&&bzoj3674可持久化并查集加强版
bzoj3673可持久化并查集 by zky 题意: 维护可以恢复到第k次操作后的并查集. 题解: 用可持久化线段树维护并查集的fa数组和秩(在并查集里的深度),不能路径压缩所以用按秩启发式合并,可以 ...