大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

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

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

关注

评论

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

基于需求文档、设计文档、测试用例的测试答疑助手

测试人

人工智能 软件测试 测试开发

Mac电脑风扇控制软件:Macs Fan Control Pro 授权激活版

Rose

LLM 大模型学习必知必会系列(一):大模型基础知识篇

汀丶人工智能

prompt 工程 检索增强技术RAG LLM大模型

HBase Meta 元信息表修复实践

vivo互联网技术

HBase HBase meta表 HBase meta表修复

「参数」让流水线动起来

都广科技

DevOps

软件测试过程中的痛点思考

老张

提升效率 质量保障

算法人生(1):从“强化学习”看如何“战胜拖延”

糖小妹来了

算法 拖延症 强化学习 走出拖延 拖延

算法人生(4):从“选项学习”看“战胜拖延”(担心失败版)

糖小妹来了

算法 强化学习 走出拖延 拖延 选项学习

商品上新业务状态机接入实践

得物技术

Java 前端 企业号 2024年5月 PK 榜

LED无线显示屏的特色与优势

Dylan

性能 加密 信息 无线 LED显示屏

纬湃科技第一季度以稳健业绩开启2024财年

财见

Parallels Desktop 18 for Mac(Pd虚拟机) 18.3.2通用激活版

Rose

暗黑破坏神II:狱火重生(暗黑破坏神2重制版)/毁灭之王中文版 Mac/win

Rose

AnyGo for Mac(虚拟定位软件) 使用教程

Rose

一文盘点 Partisia Blockchain 生态 4 月市场进展

西柚子

测试答疑助手:从需求文档到设计文档、测试用例的完整测试过程

霍格沃兹测试开发学社

算法人生(3):从“贪心算法”看“战胜拖延”(完美主义版)

糖小妹来了

算法 拖延症 贪心算法 走出拖延 拖延

算法人生(6):从“反馈学习”看“战胜拖延”(被动攻击版)

糖小妹来了

算法 强化学习 走出拖延 拖延 反馈学习

LLM 大模型学习必知必会系列(二):提示词工程-Prompt Engineering 以及实战闯关

汀丶人工智能

Prompt工程

大模型驱动的新一代 BI 平台,Sugar BI 开启智慧决策新模式

百度Geek说

企业号 5 月 PK 榜 Sugar BI 企业号2024年5月PK榜

一键自动化博客发布工具,用过的人都说好(cnblogs篇)

程序那些事

自动化 工具 程序那些事 自动发布

魔兽争霸3冰封王座Warcraft III for mac 解除8M地图限制v1.24.0中文

Rose

算法人生(8):从“注意力算法”看“战胜拖延”(被分心太多版)

糖小妹来了

深度学习 算法 走出拖延 拖延 注意力算法

嘉为蓝鲸WeOps渠道沙龙:携手业界精英共探数字化运维新篇章

嘉为蓝鲸

weops IT 运维

微软远程桌面连接工具,Remote Desktop下载 Mac远程软件

Rose

算法人生(2):从“强化学习”看如何“活在当下”

糖小妹来了

算法 活在当下 强化学习

算法人生(5):从“元学习”看“战胜拖延”(没兴趣版)

糖小妹来了

机器学习 算法 元学习 走出拖延 拖延

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