转载

IntelliJ IDEA 2018.2支持Java 11、MacBook Touch Bar等新特性

近期,JetBrains 发布 了其旗舰产品IntelliJ IDEA的2018.2版本。新版本支持即将推出的Java 11、断点意图(Breakpoints Intentions)、MacBook的Touch Bar等特性,并改进了Spring Boot、Scala和Docker插件。

Java

IntelliJ IDEA 2018.2支持Lambda参数使用的本地变量新语法(即 JEP 323 )。这是定于11月推出的Java 11中的一个新特性。该特性支持开发人员在Lambda表达式中使用 var

//Java 8,不支持var。 
BiConsumer<Processor, String> consumer = (Processor x, String y) -> x.process(y);
//Java 11,支持var。
BiConsumer<Processor, String> consumer = (var x, var y) -> x.process(y);

为配合Java 11对 var 的支持特性,在IDE中按住“Ctrl/⌘”键并将光标驻留于 var 上,将会显示该变量的类型。

对于代码中冗长的方法链,IntelliJ IDEA将会给出类型提示(Type Hint)。面对具有泛型的长方法链时,开发人员可通过该功能查看每个调用的类型提示。

IntelliJ IDEA 2018.2支持Java 11、MacBook Touch Bar等新特性

2018.2为使用Extract Method(提炼方法)的重构新添了一个预览面板。它有助于开发人员在确认更改前查看重构的可能情况。

IntelliJ IDEA 2018.2支持Java 11、MacBook Touch Bar等新特性

IntelliJ IDEA改进了对 @org.jetbrains.annotations.Contract标注 的支持。该标注支持开发人员为特定参数的传递指定一个响应方法,这将为空性(Nullability)分析以及其它一些代码检查提供帮助。其约束新增的支持值包括: new ,方法应该返回一个非Null的新对象; this ,方法应该返回一个非Null的本身(this)指向; paramX ,方法应该返回第X个参数。

Stream API支持也做了改进。它将会显示不必要的排序操作,以及错误使用了收集器(Collector)或集合(Colleciton)。此外,它还新增了对 collect() ( toSet() )方法之前冗余调用 distinct() 方法给出警告。

Java项目的调试也做了大量的改进。如果开发人员组合使用Alt+Enter键及其他一些可用意图(Intension),就可能会看到三种新的断点意图:在类中只停(stop only)、类中不停,以及在当前对象中只停。此外,调试中还提供了一种新的Caller过滤器,支持开发人员从指定方法调用时在一个断点处只停,或是从指定方法调用时跳过一个断点。

用户界面

新版本还交付了一系列用户界面上的改进。现在IDEA直接支持MacBook的Touch Bar,并在Touch Bar界面的中间显示TouchJ IDEA按钮。这使得开发人员可以直接从Touch Bar运行、调试、提交更改和更新项目。对于macOS上的IntelliJ主题,现在支持以更暗方式显示标题栏,并添加了一些新的图标。而Linux上的IntelliJ主题也做了一些更新。

IntelliJ IDEA 2018.2支持Java 11、MacBook Touch Bar等新特性

Scala

IntelliJ IDEA对Scala插件做了多项改进。它支持开发人员以内联提示的方式查看隐式转换和参数,并在一个提示工具(Tooltip)中浏览并扩展显示信息。现在,Scala插件中添加了Scalafmt格式化工具。要配置Scala插件,可依次点击菜单项“Preferences/Settings”>“Editor”>“Code Style”>“Scala”。

类型标注的自动完成和模式匹配功能也做了改进。如有可能,Scala插件会对类和接口给出一组建议的类型模式,参见下图:

IntelliJ IDEA 2018.2支持Java 11、MacBook Touch Bar等新特性

JavaScript/Typescript

2018.2还改进了对JavaScript和TypeScript的支持。开发人员可以使用新的提炼组件(Extract Component)重构特性新建一个React组件,使用新的Code Coverage特性发现并未在客户端使用的JavaScript/TypeScript代码,并对代码做手工功能测试。为此,开发人员需要使用Code Coverage 启动一个JavaScript Debug配置 ,并与Chrome中的应用进行交互。配置完成后,IntelliJ IDEA会在Coverage工具窗口中给出一个代码覆盖情况报告。

此外,开发人员可使用一系列JavaScript和TypeScript意图,例如实现接口、创建派生类、实现接口或抽象类的成员、生成 switch 语句中的 case ,以及使用“for..of”实现迭代运算。

Spring

在2018.2中新添了一个Spring Integration Diagram。它使用XML或Java标注显示了Spring应用的配置情况,包括gateway、channel和bridge等。

IntelliJ IDEA 2018.2支持Java 11、MacBook Touch Bar等新特性

2018.2针对Spring Boot应用做了一些改进。新的Diagram Model支持开发人员对Spring Boot应用运行时Bean之间的依赖关系做可视化。开发人员可以通过Run Dashboard管理HTTP请求映射。

IntelliJ IDEA 2018.2支持Java 11、MacBook Touch Bar等新特性

Docker

IDEA的Docker插件日渐成熟。新支持的特性包括使用新的Use Soft Warps操作支持Docker日志换行(wrap word)。开发人员也可以从Compose节点和容器浏览对应的Compose和Docker文件。此外,现在支持定义一个用于为Docker文件执行docker build命令的根目录。

更多信息,以及完全的改进列表,提供于“ 新特性 ”页面中。

查看英文原文: IntelliJ IDEA 2018.2 Supports Java 11, MacBook Touch Bar and More

原文  http://www.infoq.com/cn/news/2018/08/intellij-idea-2018.2
正文到此结束
Loading...