IntelliJ IDEA 2019.3 这回真的要飞起来了,新特性抢先看!
- 2019 年 10 月 7 日
- 筆記

IntelliJ IDEA 上周才公布下一个主要版本 2019.3 的 Roadmap,近日就发布了 IntelliJ IDEA 2019.3 的首个早期访问版本(即 EAP 版本),版本号为 2019.3 EAP build 193.2956.37。
EAP 版本的下载地址为:https://www.jetbrains.com/idea/nextversion/。如果是尝鲜的话,不妨下载来体验一下,生产环境建议别轻易尝试。
继续看看新版本带来了哪些有趣的改进。
新增平滑滚动(可选项)
团队表示下一个大版本的更新重点是提升性能,也将会解决各种可用性问题。为此他们推出了平滑滚动(Smooth scrolling)功能,让用户在使用鼠标滚轮查看内容时拥有更流畅的滚动体验。关于平滑滚动,最令人印象深刻的莫过于在微软在 Edge 浏览器上提供的平滑滚动体验,不知道 IDEA 实现的效果如何,欢迎有志之士发回使用反馈 : )
启用“Smooth scrolling”选项后,相比于启用前,后者的滚动效果更佳顺滑和自然。不过录制的 GIF 不能很好体现出“平滑滚动”的效果,可访问此链接进行观看动态效果(https://youtu.be/MoVS6HOdeew)
意图动作(Intention action)不会从建议列表中消失
这是对现有功能的继续打磨,此次更新引入了一项更有用的改进 —— 即使我们选择了某个意图动作然后取消对话框,IDE 也会在对话框中显示意图操作。
在此前的版本中,除非我们以某种方式修改文件,否则 IDE 不会二次显示同一个意图动作。
更方便查看字段的调用树
在解决各种大小小小的故障和不一致问题的同时,此版本还新增了查看字段调用树(Field Call Hierarchy)的功能。
在 IntelliJ IDEA 中,我们可以查看所选方法的调用者和被调用者的调用树(Ctrl+Alt+H),或查看所选类的父类和子类的调用树(Ctrl+H)。但当要查看一个字段的调用树时,这将变得十分不方便。为了理解所选字段的调用树,在此前的版本中,必须分析此字段的使用情况,并在该方法中导航至调用单个方法的调用树,这种做法十分不直观。因此,在即将发布的 2019.3 中,直接使用 Ctrl+Alt+H 快捷键即可查看字段的调用树。

全局搜索(Find in path)显示搜索结果的文件扩展名
IntelliJ IDEA 2019.3 将继续完善“全局搜索(Find in path)”对话框功能。在此前的版本中,当我们在全局搜索中使用文件掩码(file mask)进行搜索时,搜索结果的文件扩展名会被隐藏。如果搜索结果中存在多个具有相同名称但文件扩展名不同的文件,则可能会造成混淆。
新版本修复了此问题,因此 IDE 会始终显示搜索结果的文件扩展名。
改进对 Maven 的支持
在 2019.3 版本中,IntelliJ IDEA 将能够自动配置打开、导入或创建 Maven 项目的设置,无需通过模态对话框(Modal Dialog)来手动配置设置。
此外,新版本还提升了 IDE 在编辑 POM.xml 文件时的性能,IDE 现在也已支持即时显示包含补全建议的对话框。
提升导入 Gradle 项目的性能
新版本还优化了导入 Gradle 项目的性能,以减少峰值内存消耗,这些改进对于大型项目来说意义重大。
更好地显示 GitHub PR 信息的时间轴
前段时间 IDEA 引入了对 GitHub PR 的初始支持,通过此功能我们可以查看项目所有 PR 的列表,并浏览它们的变化以及当前的状态。虽然此功能十分实用,但依然存在一些已知的限制,例如无法查看审查者提交的注释。
IntelliJ IDEA 2019.3 已将这个缺失的功能补充进来。具体来说就是,它将会在选定的 PR 中显示一个时间轴,其中包含有关 PR 的所有相关信息,例如注释、审查者和对 PR 所做的更新 —— 基本上包含需要决定是否合并此 PR 的所有信息。

只需对 PR 进行双击,IDE 将在编辑器选项卡中显示注释。
重新修改过的 Clone 对话框
此版本改进了 Clone 对话框 (VCS | Get from Version control)。现在我们可以从对话框进行登录,或者如果已经处于登录状态,IDE 将立即预览按帐户或组织分组的所有 repo 的列表。

强制从忽略列表向 VCS 添加文件
在此前的版本中,如果文件位于忽略列表,则无法将文件添加到 VCS。IntelliJ IDEA 2019.3 对该限制进行了处理,现在即使文件位于 .gitignore(或 .hgignore)列表中,我们也可以将文件强制添加到 Git(或 Mercurial)。
JetBrains 运行时
默认情况下,IntelliJ IDEA 2019.3 将在 JetBrains Runtime 11(未经认证的 OpenJDK 11 分支)下运行。当然,JetBrains Runtime 8 也会继续提供(未经认证的 OpenJDK 8 分支)。
JBR 11(默认)已更新至 v11.0.4+12-b462.3:
- JetBrains Runtime 基于 OpenJDK 11.0.4
- 修复在 Windows 平台上的欢迎界面
- 检测到与 OS 的键盘布局冲突
- 修复编辑器中不正确的字体(斜体)
JBR 8(可选)已更新至 v1.8.0_222-release-1621-b1:
- JetBrains Runtime 基于 OpenJDK 8u222
- 修复出现在 macOS 10.15 Beta (19A501i) 上的崩溃问题
最后,EAP 版本每周都会发布更新,关于本次更新的详细内容请点此查看http://suo.im/4qm7rk
相关链接
[1] IDEA 的详细介绍:www.oschina.net/p/intellij+idea
[2] IDEA 的下载地址:http://suo.im/5ovR3Z
作者 | 局长来源 | https://www.oschina.net/news/109913/intellij-idea-starts-2019-3-early-access-programEND 关注我 公众号(zhisheng)里回复 面经、ES、Flink、 Spring、Java、Kafka、监控 等关键字可以查看更多关键字对应的文章 Flink 实战1、《从0到1学习Flink》—— Apache Flink 介绍 2、《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门 3、《从0到1学习Flink》—— Flink 配置文件详解 4、《从0到1学习Flink》—— Data Source 介绍 5、《从0到1学习Flink》—— 如何自定义 Data Source ? 6、《从0到1学习Flink》—— Data Sink 介绍 7、《从0到1学习Flink》—— 如何自定义 Data Sink ? 8、《从0到1学习Flink》—— Flink Data transformation(转换) 9、《从0到1学习Flink》—— 介绍 Flink 中的 Stream Windows 10、《从0到1学习Flink》—— Flink 中的几种 Time 详解 11、《从0到1学习Flink》—— Flink 读取 Kafka 数据写入到 ElasticSearch 12、《从0到1学习Flink》—— Flink 项目如何运行? 13、《从0到1学习Flink》—— Flink 读取 Kafka 数据写入到 Kafka 14、《从0到1学习Flink》—— Flink JobManager 高可用性配置 15、《从0到1学习Flink》—— Flink parallelism 和 Slot 介绍 16、《从0到1学习Flink》—— Flink 读取 Kafka 数据批量写入到 MySQL 17、《从0到1学习Flink》—— Flink 读取 Kafka 数据写入到 RabbitMQ 18、《从0到1学习Flink》—— 你上传的 jar 包藏到哪里去了 19、大数据“重磅炸弹”——实时计算框架 Flink 20、《Flink 源码解析》—— 源码编译运行 21、为什么说流处理即未来? 22、OPPO数据中台之基石:基于Flink SQL构建实数据仓库 23、流计算框架 Flink 与 Storm 的性能对比 24、Flink状态管理和容错机制介绍 25、原理解析 | Apache Flink 结合 Kafka 构建端到端的 Exactly-Once 处理 26、Apache Flink 是如何管理好内存的? 27、《从0到1学习Flink》——Flink 中这样管理配置,你知道? 28、《从0到1学习Flink》——Flink 不可以连续 Split(分流)? 29、Flink 从0到1学习—— 分享四本 Flink 的书和二十多篇 Paper 论文 30、360深度实践:Flink与Storm协议级对比 31、Apache Flink 1.9 重大特性提前解读 32、如何基于Flink+TensorFlow打造实时智能异常检测平台?只看这一篇就够了 33、美团点评基于 Flink 的实时数仓建设实践 34、Flink 灵魂两百问,这谁顶得住? 35、一文搞懂 Flink 的 Exactly Once 和 At Least Once 36、你公司到底需不需要引入实时计算引擎? 37、Flink 从0到1学习 —— 如何使用 Side Output 来分流? 38、一文让你彻底了解大数据实时计算引擎 Flink 39、基于 Flink 实现的商品实时推荐系统(附源码) 40、如何使用 Flink 每天实时处理百亿条日志? 41、Flink 在趣头条的应用与实践 42、Flink Connector 深度解析 43、滴滴实时计算发展之路及平台架构实践 44、Flink Back Pressure(背压)是怎么实现的?有什么绝妙之处?Flink 源码解析