IntelliJ IDEA 2020.2 新特性
北京时间2020年7月28日-29日间,JetBrain公司推出了二十周年第二个稳定版的IntelliJ IDEA 2020.2 。
作者我作为一个重度IDEA依赖开发人员,以使用工具的角度给大家带来最新版IDEA的新特性讲解。
打算写这篇文章的我,第一时间去官网查阅了一下资料,下面是原话:
IntelliJ IDEA 2020.2 lets you review and merge GitHub pull requests right from inside the IDE, quickly navigate between warnings and errors in a file with the Inspections widget, view the full list of issues in a current file with the Problems tool window, and get notified if your changes would break other files. You can use Jakarta EE, and get better support for Quarkus, Micronaut, and OpenAPI.
翻译一下:
1.最新版本IDEA 2020.2 允许你直接在编辑器中进行review和merge来自github的pull requests
2.新增检查小工具Problem快速指引文件中的warning和errors
3.可以在Problem工具窗口查看当前文件中的issue列表
4.当你新增了一个会影响其他文件的变化时,给予提示
5.现在可以使用Jakarta EE,并且更好的支持Quarkus,Micronaut和OpenAPI
这些只是官网页面上粗略提示的新版本特性,我个人认为总结得非常不到位,还有智能结构检索,智能拼写优化,squash commit压缩提交,异常提醒等诸多能提升开发效率的新特性都没有总结上来。
所以我这边继续观看了官方网站在Youtube上的新特性介绍视频之后,给大家再详细讲解一下。
视频链接(需翻墙):https://www.youtube.com/watch?v=lgZRMCpfYM4
新的改变
支持 Java 15
更新对 Records 功能的支持,还增加了对 Sealed 类的基本支持。当然也提供了对文本块(Text Blocks)的全面支持(java15还没出稳定版,这段就截取了视频内容)
异常提醒新增异常断点Exception BreakPoint
如下图所示,(以空指针异常为例)当出现了一个代码中的异常时,我们看到在日志的后方,会有一串Create breakpoint 的小字
点击创建,就会在断点中新增一个异常断点
这样我们下次在本地调试的时候,出现异常的时候就会在这个地方停顿住来提示我们,这里即将产生空指针异常
那么问题来了,这个有啥用呢?当出现这类本地调试异常的时候,我们可以直接在Debugger工具的地方重新设置这个值为 new MerchantCard(),来使得此处不会出现空指针,其他情况下也可以使用这种操作来调试数据。
warning,error等代码提醒:
java文件右上角的地方新增了一个固定窗口,展示代码中的问题,同时问题收集在IDEA的工具类下的Problems中
会提醒诸如,代码规范,拼写规范,代码风格,代码安全等warning在工具类,再也不用点击代码区右侧滑动栏了,方便和简介很多。同时可以右键直接根据IDEA的提示进行修改,也非常的银杏。
Structurally Search 结构化全局查找 :
快捷键 Ctrl/Command + Shift +A 打开Actions,在输入栏输入 search structural
比方说我要查找一段日志格式是两端参数拼接的代码,那么我们在Search Template查询模板中输入
log.error(
a
r
g
1
arg1
arg1+
a
r
g
2
arg2
arg2);
当前文件下的对应代码就会高亮
点击Find则会查出全局所有匹配的代码
pull,merge等vc操作页面简洁化
pull,merge等操作界面变成一种风格
简洁的同时,新增options操作,可以rebase,force push 等操作,更加清晰操作,提示的options更接近原生git命令
squash commit 压缩提交
本地的提交新增功能squash commit,可以讲两个本地commit压缩成一个,也可以重新写commit message。(已经push的commit不行哦),以后合并提交不仅仅只使用amend操作了!
智能关联,相关内嵌问题提示
当小伙伴们不会使用Shift +F6全局改名的时候,可能会出现这种错误,当仅仅修改了一个文件的被引用方法名时,比如我讲原来的convert方法更名为convert2,那么文件外的引用就会编译不通过。IDEA现在会显示被关联的问题数量和位置,点击就能进入Find工具(很Problem一起新增的)。当然,用好全局改名快捷键是最好的啦
支持编辑器内进行pull request
这个新特性我本地模拟不出来,暂时不写
智能预览
有时候我们写的代码会出现可读性,或错误编写方式问题,这时候我们通常的操作就是将鼠标光标放在有问题的代码块上,然后按住快捷键alt+Enter来查看编辑器给我们的修改建议。
现在IDEA新增智能预览窗口,windows只需要在该选项处按快捷键Ctrl+Shift+I就可以预览
mac是alt+space
更智能的Stream代码补全
JAVA8以后用户的福音
当我们对集合,数组等进行操作的时候会智能匹配stream下的api,更智能的补全,更轻松的使用stream下的流操作,虽然只是减少几个单词的拼写,但是任何的提升对开发效率的意义都是非凡的。
- 剩余新特性比如支持Jakarta EE 9,创建企业项目向导,HPROF内存查看器这些就不讲了
结尾
工欲善其事必先利其器,今天从一个开发者的角度将我们日常开发的高效工具新特性进行一个分析,希望各位小伙伴们喜欢
如果有不对的地方,不吝赐教~
这里附上一个我很喜欢的b站博主:CodeSheep,讲解的 IntelliJ IDEA 2020.1 的新特性视频
https://www.bilibili.com/video/BV1MT4y1V76k
给大家分享一下我的下一篇博客IntelliJ IDEA 2020.3 新特性
更新建议
(2020.8.7)
不建议,最新版IDEA的更新往往伴随着插件的过时,此次IDEA2020.2的更新导致了我的lombok插件出现了bug,然后博主我就回退到上个版本2020.1.3了哈哈
不过我也百度了一下,发现2020版本好像不止2出现了这种情况,1也有部分用户使用不了lombok插件,所以我的建议是不要直接更新,可以官网下载一个新的,两个版本的编辑器同时使用,研究新特性的同时还能兼容一下旧插件。
(2020.12.5)
强烈建议,插件的问题其实几个月前,大概9月份的时候就已经修复了,我本人当时也已经使用了新版本idea,当时忘记更新这篇博客了,应该说3个月前就强烈推荐了。北京时间2020.12.1 idea2020.3版本也正式上线,相关新特性欢迎阅读我的新博客。
参考文献
- IDEA官网https://www.jetbrains.com/idea/whatsnew/
- IDEA官方2020.2新特性讲解视频https://www.youtube.com/watch?v=lgZRMCpfYM4
- CodeSheep关于上一个版本idea新特性视频https://www.bilibili.com/video/BV1MT4y1V76k