IntelliJ IDEA 2018.3 重大升级,哪些功能打动了你?

前言

2018.11.28 IntelliJ IDEA 2018.3 正式版发布。对于一个忠实爱好者,火烧眉毛的我下载了最新版原本体验下。并且 IDEA 今年的第三次重大更新提供了不容错过的显著功能!你能够访问详细概述的新内容 What's New,或直接访问网站并当即下载 IntelliJ IDEA的全新版本html

具体的安装步骤就不在赘述了,能够参考以前的 系列教程 | IntelliJ IDEA(一) :安装与破解java

安装完成以后,启动IntelliJ IDEA 2018.3,期待的等待加载过程,首先能够看到,加载界面已经发生变化了,IntelliJ IDEA 2018.2的时候是大红色的,如今改为了以下的背景:git

加载完成以后,仍是一如既往的先让你设置操做习惯,固然你也能够默认设置而后直接跳过,以后进入功能界面,发现操做界面好像没有什么大的变化github

对于以下的弹框我仍是保持让它每次启动自动弹出,由于它能够提示我一些快捷键的使用,毕竟快捷键那么多,每次能了解多一点能更高效率的开发。正则表达式

既然操做界面上看不出什么大的改变,那说明新的功能升级并不是是在工具的界面上而是一些功能使用上,咱们将根据官方博客以及本身的理解来为你们解读一下此次更新有哪些全新的功能。spring

针对 Java

IntelliJ IDEA 2018.3最新支持 Java 12,虽然Java 12还没有发布,并且咱们市场上如今广泛的仍是在使用JDK 8,可是咱们能够先提早了解一点。数据库

检测更多重复项

即便在更复杂的状况下,IntelliJ IDEA如今也能够快速发现重复,例如变量名称不一样。IDEA 将在差别查看器中显示重复项,所以您能够将它们彼此并排比较。api

Java Stream API的改进

IDEA 检测在后续最小 Call 以前进行没必要要的已排序 Call 的状况。还提供了用于删除冗余排序 Call 的快速修复程序。微信

JavaRedundantMin

数据流加强功能

咱们已经建立了一个新的基于数据流的检查,称为 Condition is covered by further condition。当第一个条件被第二个条件覆盖时,它会检测到第一个条件是没必要要的状况。IDEA 提供了一个快速修复程序来消除这些冗余条件。网络

JavaSimplifingCondition

禁止检查的冗余使用

IntelliJ IDEA如今能够检测到@SuppressWarning注释、// noinspection行注释或/** noinspection */ JavaDoc注释的冗余用法。当被抑制的检查再也不处理相关方法体、类或语句中的任何警告时,IDEA 不只会给您一个警告,并且还会提供一个快速修复程序来删除这些没必要要的注释和注释。

JavaRedundantSuppression

编辑器改进

编辑器也是咱们开发中经常使用的一些功能,新版本中 IDEA 又为咱们推出了一些实用又便捷的操做。

多行TODO评论

IntelliJ IDEA 2018.3如今支持多行 TODO 注释,如今第一个和全部后续的 TODO 注释行在编辑器中突出显示并列在TODO工具窗口中。只需从多行 TODO 注释的第二行开始添加缩进,IDEA 就会将其与普通注释区分开来。

EditorMultipleTODOComments

老版本中,是不支持多行 TODO 注释的显示的,而在新版本中,若是 todo 注释有多行,你只须要在下面几行前面再添加一个空格便可。

禁用对特殊文件和文件夹的代码格式化

咱们已经能够从格式化、导入优化和代码重排中锁定某些文件——其实是从任何涉及格式化的操做中锁定,不管是显式的仍是隐式的。只需建立一个范围,并将任何不能格式化的文件添加到其中!

EditorDisableFormating

新的缩进状态栏

IntelliJ IDEA在一个新的缩进状态栏中显示当前文件中的缩进大小。若是文件的缩进与项目的当前设置不匹配,将在缩进视图中添加星号。如今能够选择控制状态栏中当前缩进的操做。

EditorIndent

EditorConfig支持的改进

IDE如今为EditorConfig文件提供语法突出显示和代码完成。您还可使用新的缩进状态栏弹出窗口轻松导航到正在使用的EditorConfig文件。

EditorConfig

版本控制

IDEA 中的版本控制一直是我比较热爱的一个功能,对于代码分支管理,代码拉取提交都比较友好,特别是 Merge 冲突的时候,本地代码和远程分支代码的冲突 Diff Code 分界面展现,清晰一目了然,减小了合并代码的痛苦。在新版本中 IDEA 又对版本控制作了哪些优化呢?

GitHub拉请求

IntelliJ IDEA最新支持GitHub Pull请求。从全新的GitHub pull requests工具窗口预览GitHub储存库中的全部拉请求。使用diff预览更改,或者经过上下文菜单从Pull请求建立一个本地分支,而后将其合并为常规分支。

“History up to Here” 能够展现完整的历史

之前,History up to Here 只显示所选提交以前文件的历史记录,可是如今它能够经过切换到工具栏上显示全部分支来显示文件以后发生的事情。若是文件后来被删除了,这可能特别有用,由于要查明这种状况并不是易事。

VCSHistoryUpToHere

VCS日志中的高级导航

您如今能够在VCS日志中从提交散列导航到VCS日志选项卡中的提交以后,或者在使用Go to hash/branch/tag操做以后,使用前进和后退导航操做。使用左右箭头键导航到子或父提交。

忽略空格

用 IDEA合并代码时,发现有时候只是两个开发者提交的代码是由于格式化,致使一些空格的差别,咱们可能也须要一个个检查下。

如今,在新版本中,IDEA 能够在合并时忽略空白更改。在“ 合并修订版本”对话框中,有一个新的“ 忽略” 下拉菜单,其中包含用于在合并时隐藏或修剪空白更改的选项。

将文件从一个Git分支复制到另外一个分支

IntelliJ IDEA 2018.3容许您经过方便的新的Get from Branch操做轻松地将文件从一个Git分支复制到另外一个Git分支,该操做可从Compare branches对话框的Files选项卡中得到。

提交对话框中的分支名称

IDE将在“ 提交”对话框中显示您要提交文件的分支名称。目前 IDEA 已经为Git,Mercurial 和 SVN 实现了这个功能。

预览文件历史记录选项卡中的差别

Diff Preview如今可在Version Control工具窗口的File History选项卡中找到。

搜索和替换

新搜索无处不在

IntelliJ IDEA 2018.3引入了一种更好的方法来浏览项目和IDEA。请热烈欢迎从新设计Search Everywhere!实际上,它不只仅是Search Everywhere,由于它包含了全部其余导航对话框:Search Everywhere, Find Action,Go to class,Go to file和Go to symbol。请注意,全部这些导航对话框仍可经过本身的键盘快捷方式访问,如前所述。

IDEA 中的搜索能够分为如下几类:

  • 类搜索,好比 Java,Groovy,Scala 等类文件
  • 文件搜索,类文件以外的全部文件
  • 符号搜索,包括接口名,类名,函数名,成员变量等
  • Action 搜索,找到你的操做
  • 字符串搜索及替换

在 IDEA 的世界里,搜索无处不在,你几乎能够瞬间找到你想要找到的任何一行代码甚至任何一个字。新版中,IDEA 更是将类、文件、符号、Action 搜索与双 Shift 键调出来的 SearchEverywhere 无缝地结合在一块儿。

在“Find in Path”中搜索多行片断

如今,能够在路径中的查找/路径替换对话框中执行多行片断的搜索/替换 。您再也不须要使用正则表达式来执行多行搜索。

新结构搜索和替换对话框

IntelliJ IDEA 2018.3提供了一个更新的、流线型的结构化搜索和替换对话框。自动完成功能可在搜索字段的预约义模板中使用。您能够在搜索图标下方的下拉菜单中查看搜索历史记录。范围配置如今也更容易,更灵活。复杂的“ 编辑变量”表单已替换为过滤器面板,您能够在更新的对话框中找到该面板。

举个栗子:若是咱们想搜索全部的 try catch 语句块,在调出结构化搜索框以后,能够输入如下文本:

try {
  $TryStatement$;
} catch($ExceptionType$ $Exception$){
  $CatchStatement$;
}

而后,IDEA 就会把全部的 try catch 语句块搜索出来,而新版更是强化了这个功能,下面我用两张动图演示一下此次更新的两个功能

结构化搜索因为输入的文本比较长,因此通常咱们会本身预置一些模板,而后给模板命名,而后结构化搜索的时候呢,咱们就能够直接基于这个模板名来搜索,新版更新的第一个功能就是,在文本输入框里,按下智能补全键,能够迅速调出模板,按照最近的搜索历史排序,而后再按下回车,文本就自动给你填充上了,你还能够点击左上角的搜索 icon,也会展现你最近的搜索记录,这些记录是以文本的方式展现的。

上面的文本就是系统内置的结构化模板 try's,点击完 Find 按钮以后,全部的 try catch 都会展现出来,咱们还能够进一步过滤,好比,咱们想要找出 catch 到的 exception 的名字为 flash,给对应的模板变量加上一个 Text 类型的 filter 便可迅速定位。

插件首选项页面

2018.3版本中更新了“首选项(设置)” 中的“ 插件”页面,以便更轻松地管理,安装,卸载和更新插件。如今,您不只能够按名称搜索插件,还能够按标签搜索插件。它变得更好,由于您如今还能够经过下载,名称,评级,功能或更新对结果进行排序。

调出插件配置以后,页面分为三大部分:

  • Marketplace: 插件市场,你能够搜索到你想要的插件
  • Installed: 当前安装的全部的插件,你还能够点击左上角搜索小 icon,按类别查看当前已安装的插件,其中的 custom 选项即是本身下载安装的插件
  • Updates:当前安装过的插件若是有更新,都会在这里显示出来

最后一个是配置项,你能够自定义你的插件仓库,你能够给配置插件下载的 http 代理(尤为是国外网络访问差的时候),你还能够从本地硬盘中安装插件

运行一切

IntelliJ IDEA 2018.3带有一种新的集中式方法,可经过新的Run Anything操做(双击 Ctrl 调出窗口)在IDEA 中运行命令。使用新操做启动运行配置,能够运行包括 Maven 、Gradle 等其余终端命令。

在菜单栏中以下的图标按钮便可打开,亦可经过快捷键双击 Ctrl

另外,只需按Shift键便可将Run Anything对话框切换到Debug Anything模式。

全新的高对比度主题

IDEA 此次又推出了一款新主题 High constrast,可是我感受不是特别好看 我仍是喜欢原来的 Darcula,根据每一个人的口味吧,本身选择。主题预览以下:

Spring & Spring Boot

IntelliJ IDEA 2018.3彻底支持最近发布的Spring Boot 2.1。如今,当您使用Spring Initializr建立项目时,IDE将建议安装或启用适当的插件,以确保支持全部选定的技术。

JVM调试器

attach 到 java进程

IDEA 的 debug 功能不管是对于调试找错仍是阅读源码,都发挥了很是重要的做用,新版 IDEA 对 debug 功能进一步增强,如今不只仅能 debug 当前的应用,并且可以 attach 到任意的 Java 进程,attach 以后,你就能够看到该进程的线程状态,而且使用强大的 Memory View 功能能够看到当前内存的状态。

自动重启侦听远程链接

如今,在调试远程进程时,IDE能够自动从新启动配置。只需 为远程调试配置启用新的自动重启选项。

远程JVM中的异步堆栈跟踪

IntelliJ IDEA 2018.3如今支持远程JVM中的异步堆栈跟踪。要远程开始使用代理:

  • 将/lib/rt/debugger-agent.jar复制到远程计算机。
  • 将-javaagent:debugger-agent.jar添加到远程JVM选项。

如今,您能够在“ 异步注释配置”对话框中定义本身的异步注释。

删除全部断点的操做

IntelliJ IDEA 2018.3提供了一些方便的新操做,能够删除项目中的全部断点或文件中的全部断点。您能够在“首选项(设置)”中为这些快捷方式分配本身的快捷方式 键图| 调试器操做。

JVM Profiler

在网上看到一篇文章说 IDEA 2018.3 支持 CPU 的火焰图了,可是我看官网上没有介绍,因此也不肯定,可是若是真有这功能我感受满酷炫的。这里引用一下他的内容作个介绍。

IDEA 分析 Java 程序的性能分析了,主要包括以下几个方面:

  • 火焰图分析 CPU 性能消耗,你能够分析 Java 进程的全部线程的 CPU 消耗火焰图,也能够只选择一个线程来分析
  • 方法调用图,能够找到在某个线程中,消耗 cpu 最多的方法
  • 方法列表,能够看到每一个方法的调用次数,点进去还能够看到详细的调用栈

下面用一章动图来展现一下,具体的细节读者可自行探索

有了这个神器以后,你不须要额外的 profiler 工具,就能够直接在 IDEA 里面完成应用程序的性能分析。预计不久的未来,Eclipse MAT 相关的功能可能也会移植到 IDEA 中,届时,Java 应用程序性能分析,堆分析,gc 分析将通通能够在 IDEA 里面运行,真正的 All In One 时代即将到来!

结尾

固然本次的更新不止这些,篇幅有限,并且不少我目前也用不上,例如:关于Kubernetes的支持Helm资源文件,在Helm资源文件中导航,关于数据库的SQL代码完成的改进等等。

若是你感兴趣的话能够前往 IDEA 的官网阅读下他们更新的日志,或下载他们最新的版本体验下。IDEA 如今发展的愈来愈好,用户确定也会愈来愈多,尚未加入体验的如今能够试着使用下。

参考:1. IDEA 的新功能 2. [微信公众号] 闪电侠的博客

相关文章
相关标签/搜索