70+专家分享实战经验,2024年度AI最佳实践都在AICon北京 了解详情
写点什么

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

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

关注

评论

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

SD-WAN解决方案七大便利点

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

ETL中Python组件的运用

RestCloud

Python ETL 数据集成

全面解析基线版本应用的探索实践

鲸品堂

测试 基线 运营商

SD-WAN为出海电商提供了什么支持

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

如何找到香港虚拟主机5元一月的方案?

一只扑棱蛾子

香港虚拟主机

二手车价格预测第十三名方案总结

阿里云天池

阿里云

【教程】App打包成IPA文件类型的四种方法

小程序技术实践——快速开发适配鸿蒙的App

Geek_2305a8

AI 数据观 | 大模型私有化部署落地过程中,那些容易被忽视的“数据集成”难题

tapdata

生成式 AI 应用 大语言模型集成 企业 AI 应用

人社大赛算法赛题解题思路分享+季军+三马一曹团队

阿里云天池

阿里云

消息队列选型之 Kafka vs RabbitMQ

字节跳动云原生计算

kafka 消息列队

物联网中的预测分析:当IoTDA遇上ModelArts

华为云开发者联盟

物联网 华为云 华为云ModelArts 华为云开发者联盟 企业号2024年4月PK榜

提高 AI 训练算力效率:蚂蚁 DLRover 故障自愈技术的创新实践

可信AI进展

开源 算力 DLRover

从基础到高级,带你深入了解和使用curl命令(四)

霍格沃兹测试开发学社

天池医疗AI大赛[第一季] Rank5解决方案

阿里云天池

阿里云

大型央国企“信创化”与数字化转型的建设思路

优秀

信创 央国企数字化转型

手把手教你在 Spring Boot 中实现 AOP

Liam

Java 程序员 Spring Boot 后端 aop

在Windows电脑上上传iOS应用至App Store

雪奈椰子

新一代营销费用管理,有效提升线下渠道投资回报率

赛博威科技

现成源码与定制开发:拍卖直播商城平台的最佳选择是谁?

软件开发-梦幻运营部

企业上了MES系统后,能有什么好处?

万界星空科技

生产管理系统 mes 万界星空科技

【IJCAI-2018】搜索广告数据探索与可视化

阿里云天池

阿里云

零基础入门NLP - 新闻文本分类比赛方案分享 nano- Rank1

阿里云天池

阿里云

碳视野|新能源产业链看过来! 欧盟关键原材料法案生效!

AMT企源

数字化转型 新能源 双碳 碳管理

从基础到高级,带你深入了解和使用curl命令(三)

霍格沃兹测试开发学社

不要在自我提升方面吝啬

老张

自我提升 能力提升

猫头虎博主深度探索:Amazon Q——2023 re:Invent 大会的 AI 革新之星

亚马逊云科技 (Amazon Web Services)

re:Invent 亚马逊云科技 生成式人工智能 Amazon SageMaker Amazon Q

Edge浏览器兼容性问题如何修复,这篇文章告诉你

霍格沃兹测试开发学社

低代码开发有哪些优势?

万界星空科技

低代码开发 低代码平台 mes 万界星空科技

EMQX Enterprise 5.6 发布:新增 Amazon S3 数据集成、JSON Schema 验证函数

EMQ映云科技

mqtt emqx mqtt broker

SD-WAN在金融行业的重要性

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

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