IntelliJ IDEA 2018.1来了,它具备新的Java 9检测和快速修复,JUnit 5@Tag注释支持,Kotlin插件已更新至v1.2.30,现在支持部分Git提交。
IntelliJ IDEA 2018.1是JetBrains 2018年的第一次重大更新。它为支持的语言,框架,版本控制工具,调试器,编译器和编辑器带来了许多改进。IntelliJ IDEA 2018.1新增功能:
Java
Stream API链中的完成现在知道类型转换,这意味着它可以根据现有的call filter (String.class :: isInstance)建议完成项目,并且也用于自动类型转换完成项目。
数据流分析(data flow analysis)现在可以跟踪诸如“大于”和“小于”之类的变量之间的关系。此外,当变量进行比较时,IDE还会在所有可能的代码路径中检测条件始终为真(或错误)的时间。
新的Java 9检查和快速修复将派上用场,因为IDE会检查ServiceLoader加载的服务是否在module-info.java文件中声明,并提供快速修复以将缺少的语句添加到模块信息.javafile。
如果在module-info.java中提到了一个未解决的类,那么IDE将建议创建缺少的类,以及缺少导出的包。
有一个新的Fix partially按钮,当你有几个选项来修复所选范围内的可能问题时,会出现这个按钮。你会在“Fix partially”按钮下找到所有建议的快速修复程序。
添加了对JUnit5 @Tag注释的支持,这意味着你可以在测试范围中包含标记的类和标记的方法。你只需在Run/Debug Configuration对话框中的Test kind字段中选择Tags(JUnit 5)选项。确保使用Uniqueld字段根据其ID来过滤测试。
JVM调试器
有一个新的Throw Exception操作。这意味着你可以在程序中的特定位置抛出异常而无需更改代码。你会在Run | Throw Exception找到它,或在调试会话期间的帧上下文菜单中。
你现在可以在控制台上打印Breakpoints Stacktraces。 Stacktrace选项可以在Breakpoints对话框中启用。
此外,你现在可以通过新的Copy Stack操作复制当前线程堆栈踪迹。
JetBrains扩展了异步堆栈跟踪功能,这意味着你现在可以使用@Async.Schedule和@ Async.Execute注释来设置未包含在默认配置中的捕获点。你只需将Maven artifact添加为依赖项即可。
Java编译器
Java编译器页面上的交叉编译(Java 9及更高版本)的新使用 --release选项可在Preferences | Build, Execution, Deployment|Compiler | Java Compiler默认启用。你应该知道,当想要在Java 9中使用--source和--target选项并同时链接到Java 9类时,可以禁用新复选框。
还有一种使用特定版本的ECJ编译器的新功能。你只需从Use Compiler下拉菜单中选择Eclipse,然后在该字段中指定具有所需编译器的jar的路径。
Editor
好消息!如果在代码中检测到任何问题,IDE现在会突出显示包含错误或警告的折叠代码区域,并根据其验证状态对块进行着色。
说到折叠代码,IDE还会在你搜索当前文件时突出显示折叠代码区域(如果它们包含任何匹配项)。
你现在可以在源代码中看到@NotNull或@Nullable注释的自动推断。你必须在这里启用Show inferred annotations inline复选框:Preferences | Editor | General | Appearance。
Kotlin
你会注意到,在Project Tool Window中,可以直接将代码片段粘贴到包中,并且会创建一个包含粘贴代码的新Kotlin文件。
Kotlin插件提供了新的意图,它们将调用函数的调用转换为相互调用,并且也转换为应用程序,反之亦然
Groovy
你现在可以使用@CompileStatic批注在范围中标注每个常规类[Refactor|Convert to @CompileStatic中的上下文菜单中提供了一个新的重构操作。]。
IntelliJ IDEA 2018.1还会为Groovy文件报告不必要的导入别名检测。
Android
Android Studio 3.0的更改已合并,这意味着有很多新功能,其中包括:
Android Profiler,这是一套新的分析工具,可为你的应用的CPU,内存和网络活动提供实时数据。
Device File Explorer Tool Window显示你的Android设备或模拟器的文件和目录结构。如果你想在Android设备上查看,复制和删除文件,此工具窗口将派上用场。你会在View | Tool Windows | Device File Explorer中找到它。
布局编辑器已得到改进。
你现在可以构建即时应用程序,轻量级Android应用程序,无需安装即可运行。但是,你必须确保已安装Instant Apps Development SDK。
Spring Boot
在运行Spring Boot Web应用程序之后,在具有处理传入HTTP请求的@RequestMapping注释的方法的装订线中会显示一个新图标。如果要打开扩展名为.http的临时文件中的所有映射,并通过新的REST客户端在编辑器中执行HTTP请求,请继续并单击该图标。
所有在应用程序上下文中注册的bean都可以在Run Dashboard(或运行工具窗口)的Beans选项卡中看到。在IntelliJ 2018.1中,这些信息也可以在编辑器中找到。
JavaScript和TypeScript
现在支持最新的TypeScript 2.7功能。
Implement Members行为得到了改善。
你可以用Vue.js插件创建一个新的Vue项目。要安装Vue CLI,请在终端中运行npm install -g vue-cli。
Docker
Docker插件现在支持 Multiple Docker Compose文件,并且不仅考虑docker-compose.yml,还考虑可选的docker-compose.override.yml文件。
该插件显示所有现有的Compose projects。
Kubernetes
新的Kubernetes插件支持从v1.5到v1.9的Kubernetes资源文件[最新版本]。它会在文件中查找apiVersion和其他类型的字段,如果存在,它会将这些文件视为Kubernetes资源文件。
丰富的YAML Kubernetes资源文件支持:如果你输入所需的密钥并调用Smart Completion,新插件将自动完成以下所有级别的所有必需密钥。
有一个内置的实时模板,可以让你快速创建你需要的YAML Kubernetes资源文件的类型。有几个预定义的Kubernetes模板,可以通过键入其缩写来调用必需的实时模板。
此外,只要你选择不推荐的Kubernetes属性,Kubernetes插件就会提醒你。
还有一些基于JSON模式功能的对JSON Kubernetes资源文件的支持