写点什么

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:0010540
用户头像

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

关注

评论

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

TapData 医疗美容行业数字化白皮书上线

tapdata

医疗美容机构数字化 医疗美容运营数据分析 医疗美容白皮书 医疗美容大数据中心

阿里云 SAE 助力修正商城 3 周内提升系统承载能力 20 倍,轻松应对春晚流量

阿里巴巴云原生

阿里云 Serverless 云原生

AR没前景?我不相信!

AR玩家

AR Rokid Vision pro 炬目AR

快手Vision Pro版实测体验!沉浸模式,刷视频绝了!

快手技术

客户端 快手 Vision pro

StarRocks 3.3 重磅发布,Lakehouse 架构发展进入快车道!

StarRocks

清凉必备!天翼云夏季科学防暑指南请查收

编程猫

揭秘MySQL TLS:通过抓包了解真实的加密通信

张俭

MySQL

彻底解决大模型训练集群的网络哈希冲突,百度百舸的高性能网络 HPN 落地实践

Baidu AICLOUD

哈希冲突 网络加速 大模型训练 GPU通信

WAVE SUMMIT产业论坛圆满落地,百度安全护航大模型产业平稳健康发展

百度安全

战略资讯 | TapData 牵手思想科技,开启数据管理新篇章!

tapdata

Tapdata 现代数据栈 思想科技 数字化解决方案

文本生成模型API比拼!KimiGPT 和 GLM-4 哪个更适合你?

幂简集成

AI API

软通动力入选“北京市通用人工智能产业创新伙伴计划(第三批)”

财见

GaussDB(DWS)性能调优,解决DM区大内存占用问题

华为云开发者联盟

大数据 华为云 华为云开发者联盟 华为云GaussDB(DWS) 企业号2024年7月PK榜

败诉的爱奇艺,又引起了网友的不满?

趣解商业

优酷 爱奇艺 腾讯视频

1688商品详情数据接口

tbapi

1688 1688API 1688商品详情数据接口 1688商品数据采集

英特尔至强处理器助力Aible优化AI解决方案,大幅降低生成式AI成本

E科讯

看电影,学项目管理

凌晞

项目管理 项目经理

没有性能指标,无法开展性能测试吗?

老张

性能测试 需求分析 质量保障

百度2024高考大数据出炉:这所西南高校受欢迎度逆袭清华

极客天地

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