IntelliJ IDEA 2019.3 发布,更快更强

原文地址: https://www.jetbrains.com/ide...

参考文章:java

https://www.oschina.net/news/...git

https://blog.csdn.net/hollis_...数据库

IntelliJ IDEA 在 2019 年 11 月 28 日推出了今年最终主要版本-IntelliJ IDEA 2019.3!浏览器

这里有个小知识,就是 2019.一、2019.二、2019.3 这些点后面的数字表示的不是月份,而是这一年的第几个版本。服务器

如下为翻译内容,翻译的可能不太准确,以后将会对翻译错误的地方进行修改架构


2019.3 11 月 28

IntelliJ IDEA 2019.3 提供了重大的性能和可用性改进,包括更快的启动,主题和快捷键插件的安装更容易,增进 VCS workflows,并增长了对微服务框架、MongoDB 等的支持。intellij-idea

1. 更好的性能

1.1 更快的启动

此版本主要性能改进之一是启动时间比以往任什么时候候都短。咱们采用了重大的体系结构更改,来并行化 IDE 在启动时执行的某些任务,以便它们不会顺序执行。框架

IntelliJ IDEA启动速度

1.2 减小内存消耗

在 IntelliJ IDEA 2019.3 中,咱们优化了性能以减小导入大型 Gradle 项目时的峰值内存消耗。编辑器

Gradle导入时各阶段内存使用状况

1.3 响应式用户界面

咱们已经解决了提交给咱们的 1600 多个 UI 冻结报告。除此以外,咱们还修复了在 Maven 项目中编辑 POM.xml 文件的问题,如今能够当即显示补全建议,而不会出现任何延迟。其余修复有能够更快地处理大型项目中的 VCS 状态更新,更好地处理 ignored 文件,更快地渲染项目树,在使用大量编辑或 debugger 标签页时具备更好的性能,并提升了速度。ide

1.4 更好的 Java 性能

此版本对 Java 类型推断进行了许多改进,不只修复了各类编辑器冻结问题,并且还为长的方法调用链加快了 Java 类型推断。当应用于 multiple lines 时,’Join Lines‘ 操做能够更快地工做。你还将体验到 Java 代码的加速高亮,尤为是涉及到带有通用 var-args 的方法时(其中放置了数十个参数)。

1.5 更好的 Kotlin 性能

IntelliJ IDEA 2019.3 捆绑了 Kotlin 1.3.60,提供了使人印象深入的加速效果,例如在编辑器中更快地高亮。

2. 改善的可用性

2.1 在不从新启动 IDE 的状况下安装主题和快捷键插件

在 IntelliJ IDEA 2019.3 中,咱们实现了对动态插件安装的支持,这意味着如今你能够安装和卸载主题和快捷键插件,而无需从新启动 IDE。咱们计划在未来的版本中将此方法扩展到大多数插件,以使插件管理尽量容易。

2.2 更明显的滚动条

若是你在查看滚动条时遇到困难,如今可让它脱颖而出。只需启用 “Settings/Preferences | Appearance & Behavior | Appearance” 下的 ‘Use contrast scrollbars’ 设置便可。

2.3 平滑滚动

咱们所作的一个很小但很是有价值的改进是滚动,使用鼠标滚轮滚动后如今能够变得更加平滑。

演示视频地址:https://www.youtube.com/watch...

2.4 自动配置导入的 Maven 或 sbt 项目

如今,当你导入,建立或打开 sbt 或 Maven 项目时,IntelliJ IDEA 会自动为你设置它,所以你再也不须要手动配置设置。

2.5 重作上下文动做的行为

在“意图动做”对话框中,即便选择了某个动做并关闭了对话框,IDE 如今仍默认显示全部可用的意图动做。

3. 功能更新

3.1 对 Java 13 功能的扩展支持

咱们扩展了对 Java 13 文本块的支持:插入第三个引号时,它们会自动格式化。

Java13 文本块

3.2 能够注入更多模板语言

借助 IntelliJ IDEA 2019.3,你能够向代码中注入更多模板语言,特别是 Pug(ex-Jade),Handlebars,EJS 和 Slim。

3.3 新的 “字段调用树” 操做

如今,经过使用 Ctrl + Alt + H 调用新的“字段调用树”操做,能够轻松地查看所选字段的调用树。

3.4 统一弹出错误和文档

如今,检查中将鼠标悬停在突出显示的符号上时,除了显示代码参考信息以外,你还可使弹出窗口显示错误。要启用此功能,请在 Settings/Preferences | Editor | General 中选择 ‘Show quick documentation on mouse move’。

3.5 改进 Git checkout 工做流程

为了消除混淆,在远程分支上调用新重命名的 ‘Checkout’ 操做如今将建立一个新的本地分支,将其签出,并将跟踪设置为远程分支。咱们还为本地和远程分支添加了 ‘New Branch from Selected’ 操做,该操做建立了一个新的本地分支并将其签出,但未将跟踪设置为任何远程分支。

3.6 推分支的更简单方法

你会很高兴的发现另外一个节省时间的方法是,你再也不须要签出分支来推送它–你只需在 Git 分支弹出窗口中选择一个分支并将其从那里推送便可。

3.7 统一的“克隆”体验

咱们从新设计了 ‘Clone’ 对话框来统一用户界面,用于从不一样的 VCS 托管服务获取项目。若是你已经登陆到 VCS,IDE 将显示可供选择的可用仓库列表,所以你再也不须要输入仓库 URL。

2.8 深刻了解合并冲突

如今,若是在 merge,rebase 或 cherry-pick 操做期间发生冲突,在合并对话框中你能够获取有关更改源的更多信息。只需单击 ‘Show Details’ 连接便可获取致使代码冲突的提交列表。

解决冲突时经过 Show Details 查看更多信息

4. 新框架和新技术

4.1 微服务框架支持

为了使你的 IntelliJ IDEA 项目在技术上保持相关性,版本 2019.3 添加了对 Micronaut,Quarkus 和 Helidon 的初步支持。若是你的 Java 项目采用了基于微服务的架构,则能够享受完整的编码协助、导航、检查、查找和其余好处。

4.2 OpenAPI 和 Swagger 支持

咱们引入了对 Swagger v2 和 OpenAPI v2 的支持,该支持提供了 schema validation,以及代码补全、导航、查找,以及包含 API 描述的 YAML / JSON 文件中的重命名重构。

4.3 新 Endpoints 窗口

全新的 ‘Endpoints’ 工具窗口提供了项目中用于 HTTP 和 Web Socket 协议的客户端和服务端 API 的聚合视图。此外,你能够将窗口扩展到 IntelliJ IDEA 中当前打开的全部项目。

4.4 Spring Web Flux 支持

在 Spring tool 窗口的 MVC 视图中查看 Web Flux URL 路径的完整列表,在它们之间导航,并受益于编码辅助、搜索以及 URL 和 URLs 的重命名重构。

NewSpringWebFlux

4.5 Java HTTP 客户端支持

IntelliJ IDEA 2019.3 在如下 Java HTTP 客户端 API 中提供 URL 支持: java.net.{URI/URL}, Retrofit v2, OkHttp v3, and Injectable URL reference。你如今在 Java 客户端中可使用 Java 中经常使用的全部内容 - 编码辅助,导航,查找。

4.6 Project Reactor 支持

利用对 Java 和 Kotlin Reactor 项目检查的优点,它们会报告在不该阻塞线程的代码片断中检测到的线程阻塞方法调用。IDE 还将警告你有关 Flux 和 Mono 方法的 lambda 运算符可能返回 null 的信息。最重要的是,有一个专用的 Reactor 调试模式,可提供有关响应栈帧和中间变量值的有用视图。

4.7 MongoDB 支持

IntelliJ IDEA 2019.3 附带了期待已久的 MongoDB 支持。添加 MongoDB 数据源后,请在数据库浏览器中查看集合和字段,运行查询并查看查询结果。咱们将在未来的版本中扩展对 MongoDB 的支持。

5. 修复了什么

  • IDE 如今能够检测到使用 Homebrew 安装的 Gradle 目录。
  • 用户界面获得了改进,所以如今能够更轻松地手动设置 Gradle 主目录。
  • IntelliJ IDEA 如今支持在 Linux 上经过 KWallet 存储密码。
  • 当用户使用 JavaFX 项目时,IDE 能够在 ‘Scene Builder’ 选项卡中显示带有嵌入式 Scene Builder 的 FXML 文件。
  • 当没法访问 SVN 服务器时,SVN 的“须要身份验证”对话框再也不弹出。
  • 咱们已经修复了与使用 rebase 执行'git update'操做有关的问题。
  • 如今,在索引 Git 日志时,IDE 将显示一个进度条。
  • 如今,你能够选择是否要在文件历史记录窗口和 VCS 批注中查看更改的建立时间或提交时间。