写点什么

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

  • 2018-08-30
  • 本文字数:2844 字

    阅读完需:约 9 分钟

近期,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)。面对具有泛型的长方法链时,开发人员可通过该功能查看每个调用的类型提示。

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

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 主题也做了一些更新。

Scala

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

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

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 等。

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

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

2018-08-30 19:0010527
用户头像

发布了 391 篇内容, 共 157.8 次阅读, 收获喜欢 257 次。

关注

评论

发布
暂无评论
发现更多内容

汽车之家基于 Flink 的实时计算平台 3.0 建设实践

Apache Flink

大数据 flink 开源 编程 实时计算

java培训:22道springboot高频面试题

@零度

JAVA开发 springboot

Go语言使用gorm对MySQL进行性能测试

FunTester

Go MySQL 性能测试 gorm FunTester

业务系统安全工程在阿里的实践|阿里巴巴DevOps实践指南

阿里云云效

云计算 阿里云 云原生 系统安全 研发

1688 复杂业务场景下的 Serverless 提效实践

Serverless Devs

阿里云 电商 1688

开源,从一个轮子说起|趣说开源

腾源会

开源 腾源会

反射解析与使用

Puciu

JavaScript 基础(三):数组和对象

devpoint

JavaScript 数组 对象 3月月更

阿里巴巴监管控一体化运维|阿里巴巴DevOps实践指南

阿里云云效

云计算 阿里云 运维 云原生 研发

面向流批一体的 Flink Runtime 新进展

Apache Flink

大数据 flink 开源 编程 实时计算

如何解决海量数据更新场景下的Mysql死锁问题

领创集团Advance Intelligence Group

MySQL

软件商店上新:石墨文档、Shotcut 等 5 款便捷办公类软件上线!

优麒麟

Linux 生态 优麒麟 石墨文档 办公软件

Flink CDC 项目 GitHub star 破 2000,新增 Maintainer 成员

Apache Flink

大数据 flink 开源 编程 实时计算

2022-03微软漏洞通告

火绒安全

漏洞 漏洞修复 远程代码执行

WMS仓储管理系统解决方案

源字节1号

开源 前端开发 后端开发 WMS仓库管理

Docker原理——启动时的icc标志的原理

kof11321

Docker docker网络

帮助企业实现客户服务自动化的方式

小炮

阿里巴巴基于应用和变更的交付模式|阿里巴巴DevOps实践指南

阿里云云效

云计算 阿里巴巴 阿里云 持续交付 研发

从0到1万字贴心讲解单体架构到分布式架构的演变(第一篇)

刘祥

后端 分布式,

Redis实现排名

自由

后端开发

两行代码助你搞定SAST(静态应用程序安全测试)

极狐GitLab

gitlab security

FabEdge 成为 CNCF 沙箱级项目

BoCloud博云

边缘计算 cncf 开源技术

【过等保】2022年过等保常见问题解答

行云管家

网络安全 等保 等保2.0

一眼定位问题,函数计算发布日志关键词秒检索功能

Serverless Devs

阿里云 Faas 函数

2021年第4季度记账理财应用监测,头部集聚加强,领跑者转型发展

易观分析

理财 记账

大数据培训:Spark性能调优与参数配置

@零度

大数据 spark

为什么要学习togaf的不完全分析

spark

企业架构 架构师 TOGAF 软件架构师

低代码和无代码的注意事项

禅道项目管理

低代码 开发 无代码

2022阿里云采购季,移动研发平台EMAS爆款清单来袭

移动研发平台EMAS

阿里云 开发者 emas 采购季 移动研发

IntelliJ IDEA 2018.2支持Java 11、MacBook Touch Bar等新特性_Java_Diogo Carleto_InfoQ精选文章