7、操作意图预览
咋一看还以为人工智能呢,都能预览我的意图了。
此功能可以让你在将它们实际应用到代码之前预览它们的结果。按Alt+Enter调用显示上下文动作并选择你需要的意图动作,然后按相应快捷键显示结果预览(Windows和Linux上按Ctrl+Shift+I,macOS上按Alt+Space)。
例如如下代码:
public static void main(String[] args) { List<Integer> ids = new ArrayList<>(); for (Integer id : ids) { if (id > 10) { System.out.println(id); } } }
在for处按Alt+Enter:
再按Ctrl+Shift+I(我是windows),即可看见结果预览:
8、改进的拼写检查
IDEA使用spell checker做拼写检查,看你单词也没有写错啥的。这次改进主要提升了性能和准确性,然而我一般都是把此项禁用的,毕竟有时候我需要用拼音命名😄。
9、完整的GitHub pull requests支持
现在整个 GitHub PR 工作流程全部可以直接在 IntelliJ IDEA 完成。包括浏览、指派、管理以及合并 PR、查看时间线和内联评论、提交评论、审查以及接受更改。
简单点,我就不用实际案例了。引用官方提供的三张图作为示例了哈:
我想说,这个功能区,对做Java开源社区开发的工作者绝对是福音,可以多睡会了~
10、改进的Git操作对话框
主要体现在merge、pull和rebase对话框的视觉一致性上。此外还改进了对话框,使其可以清楚地标识待执行的 Git 命令,并加入一些缺失选项,比如向Pull和 Merge对话框分别添加了--rebase和--no-verify。
附:老版本中效果截图,用以对比:
11、支持Jakarta EE 9
Jakarta EE 9同Java 15一样也将会在今年9月份发布,但IDEA已早早的提供了支持。并且号称是已经支持到了Jakarta EE的所有可用特性(典型的13种技术嘛)。
题外话:2018年3月初,Java EE正式更名为JakartaEE,至此再无 JavaEE。
12、创建企业项目向导
如果需要创建Java EE 8或Jakarta EE 9项目,可以使用IDEA的创建向导。
这对于天朝的程序员来说貌似没啥卵用,因为我们都用Spring,所以大都使用Spring Initializr来创建工程。
12、HPROF内存查看器
我们知道IntelliJ IDEA 2020.1版本就可以打开.hprof内存转储文件,有助于识别内存泄漏,并找到优化内存使用率的方法。那时候功能还非常的简陋,IDEA官方承诺会持续改进的,果不其然这个版本带来了功能提升。
下面通过案例使用一把。代码如下:
public static void main(String[] args) throws InterruptedException { List<Integer> ids = new ArrayList<>(); TimeUnit.MINUTES.sleep(10); }
先使用jps找到你的进程id(这个都会吧,我就不截图了),然后使用jmap -dump:file=test.hprof,format=b 你的pid拿到一份dump文件:test.hprof。
然后使用IDEA的此功能把该文件读取进来:
文件读取进来后,可在其“专属视窗”看到分析结果:
指出使用大量内存的代码部分,并检测内存泄漏的原因。HPROF内存查看器显示了计算的对象保留大小、到垃圾收集器根的最短路径、对象(保留的对象)的支配器树和传入的引用。
附:上个版本(2020.1)效果截图,用以对比:
新版本还是感觉到明显的功能提升的。上个版本官方不建议你用于生产分析,很明显这个版本已经没有这样的字眼了,用吧骚年。
12、使用预先构建好的indexes
IDEA在每打开一个项目时都会它进行index建立索引,以确保你后续时候过程中的编码流畅度(代码补全、代码跳转…),而这个建立索引阶段一般来说是比较耗时的。
同一个项目一般会被N多人使用、开发,那么能不能只需要构建一次索引,别人直接用就行了呢?IDEA此版本对此痛点提供了支持。
现在,通过在另一台机器上生成的索引(我们可以弄台机器专门来生成索引),而不用再在本地构建,索引文件拿来就用,可以加快索引速度。
小贴士:此功能需要安装共享索引插件提供额外支持
13、正在索引中也可编码
当我们打开一个项目时,如果正在构建索引,代码的颜色是这样的(预示先别编码,请等待):
说明:颜色灰色并不是说你不能敲字,只是没有代码提示了
索引构建好后,颜色恢复正常,你可以正常编码了:
然后在IntelliJ IDEA 2020.2版本中,当在为你的项目构建索引时,你现在可以继续编写代码了。IDE现在能在索引期间为Java提供代码完成建议(也就是最重要的代码补全提示能力)。
14、支持Maven Wrapper
IntelliJ IDEA 2020.2现在支持Maven包装器,它会自动将所需的Maven版本安装到您的项目中。如果提供并配置了Maven包装器,IDE会自动使用它并在需要时导入更改。
Maven Wrapper(Maven包装器)是什么?嗯嗯,建议你可以自己了解一下了~
15、其它
其它的还有诸如对JavaScript语言的代码自动补全支持、Database链接数据库的UI/功能优化、Scala语言支持等,因为用的人着实不多(主要是我自己也不用😄),所以就不做详解了哈。
当然喽,新版IDEA怎么少得了对云原生技术Docker和Kubernetes的优化支持呢?这些主要体现在对它们配置文件的支持上,在实际使用时你会感受出来。
升级建议
升。
以前我的建议很保守,现在明确点,毕竟仅仅只是建议😄
总结
作为2020年的第二个版本,虽然说没有第一个版本(2020.1)提供的新功能那么的博人眼球,但好些新特性依旧是可圈可点,值得称赞。
最后,依旧要向那些孜孜不倦为IT行业提供优秀工具的人们致敬!!!特别是捷克的那些创造者们,你们创造了非常好的工具提高了生产力,推动了社会某些产业的进步,功勋卓越!!!