IntelliJ IDEA 2018.2新版本支持 Java 11、Mac Touch Bar…

简介: 本篇文章内容转载来自微信公众号"Mac Talk”,此公众号由极客时间的创始人池建强老师维护,池老师的文章写作风格非常幽默风趣且朴实无华,对苹果Mac软件、产品设计、程序开发等领域有着深入的研究和新颖独特的见解。

本篇文章内容转载来自微信公众号"Mac Talk”,此公众号由极客时间的创始人池建强老师维护,池老师的文章写作风格非常幽默风趣且朴实无华,对苹果Mac软件、产品设计、程序开发等领域有着深入的研究和新颖独特的见解。

上一遍文章我介绍了IDEA的入门及使用体验,目前我用的是IDEA 2018.1版本,这不JetBrains最近更新了最新2018.2版本,于是乎池老师很快就发布了新版本的升级特性介绍,最初我也想自己了解下新特性顺便写一下这方面的东西,但是看完池老师从InfoQ中文网站重新校对和修改之后的这篇文章,我就觉得写的特别的好,且最近难得一次见到池老师在文末未打软广,说实话这波吃鸡吃的我猝不及防,原文转载如下:

img_79f9eec6263582a1f1aebe324da88da4.jpe

题图:酒杯里的代码,自己拍的

我自己编程生涯里写 Java 比较多,常用的编辑器是 Vim 和 IntelliJ IDEA。Vim 免费轻快,像一把雪亮的快刀,挡着披靡。IDEA 厚重强大,华丽的像关二爷的青龙偃月刀,锋利无匹。各有各的好处,我都非常喜欢。近期 JetBrains 发布了 IntelliJ IDEA 的最新版本:2018.2,其中包含了诸多新特性,我第一时间更新了(IDEA 现在是付费订阅方式),给大家介绍下。

IDEA 的新版本支持即将推出的 Java 11、断点意图(Breakpoints Intentions),为 MacBook 系列的 Touch Bar 定制了快捷功能,并改进了 Spring Boot、Scala 和 Docker 相关的插件。

以下内容编译自极客邦 InfoQ 中文网站,我重新做了校对和修改

Java

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

//Java 8,不支持var。 

BiConsumerconsumer = (Processor x, String y)x.process(y);

//Java 11,支持var。

BiConsumerconsumer = (var x, var y)x.process(y);

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

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

img_e6b11864c0c1d34e6a83cb99f2bb5293.jpe

2018.2 为使用重构方法增加了一个预览面板,它有助于开发人员在确认更改前查看重构的可能情况,酷炫并且实用。

img_6e4a70ae58bd6d7729f4b540a12a8181.jpe

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

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

Java 项目中的调试功能也做了大量的改进。如果开发人员组合使用 Alt+Enter 键,就能看到三种新的断点状态,比如:stop only in class, do not stop in class, and stop only in the current object。此外,新的 Caller 过滤器可以允许开发者实现这样的功能:只有来自某个特定方法里的调用,才会停在这个断点,或者跳过这个断点。

用户界面

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

img_3567e2a48157f8484126bcbb0d6ae86d.jpe

Scala

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

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

img_808d069d46b64e077362cf6835e500ab.gif

JavaScript/Typescript

2018.2 还改进了对 JavaScript 和 TypeScript 的支持。开发人员可以使用新的 Extract Component 特性新建一个 React 组件,使用新的 Code Coverage 特性找到没的 JavaScript/TypeScript 代码,并对代码进行手工测试。开发人员可以使用 Code Coverage  启动一个 JavaScript Debug 配置 ,并与 Chrome 中的应用进行交互。配置完成后,IntelliJ IDEA 会在 Coverage 工具窗口中给出代码覆盖情况报告。

新版本 IDEA 提供了一系列 JavaScript 和 TypeScript 提示,比如实现接口、创建派生类、实现接口或抽象类的成员、生成 switch 语句中的 case,以及使用 “for..of” 实现迭代运算等。

Spring

新版本 IDEA 增加个 Spring Integration Diagram,基于 XML 或 Java 标注图形化显示 Spring 应用的配置情况,包括gateway、channel 和 bridge 等。

img_233b4fdbef820c26ba9f04a84f97933f.gif

2018.2 版本还针对 Spring Boot 应用做了系列改进。基于新的 Diagram Model 开发人员可以用图形化的方式显示 Spring Boot 应用运行时 Bean 之间的依赖关系。开发人员还可以通过 Run Dashboard 管理 HTTP 请求映射。

img_baa922b186e6a0c7aa532dc2d98ecd73.gif

Docker

IDEA 的 Docker 插件日渐成熟。新支持的特性包括支持以软回车的方式查看 Docker 日志(wrap word)。开发人员也可以从 Compose 节点和容器查看对应的 Compose 和 Docker 文件。此外,你还可以定义 Dockerfile 的执行根目录。

IntelliJ IDEA 是一个极为强大的 IDE 工具,不仅可以开发 Java,基于插件机制可以编写各种语言的代码,快速、强大、敏捷,是 JetBrains 的当家软件,其他系列 IDE 都衍生于此。贵是贵,确实好用啊。

文末留言:你最喜欢的编程工具是什么呢?你最常用的编程工具又是什么?可以说说它们的优劣。

目录
相关文章
|
2月前
|
IDE Oracle Java
day4:JDK、IntelliJ IDEA的安装和环境变量配置
【7月更文挑战第4天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
141 0
|
29天前
|
开发工具 git
成功解决 IDEA 2020 版本 代码报错不提示的几种方案
这篇文章提供了几种解决IntelliJ IDEA 2020版本中代码报错不提示问题的方案,包括通过修改文件夹权限、暂存本地更改后进行git pull,以及在git pull后应用暂存的更改并提交代码到远程仓库的方法。
|
1月前
|
Java 应用服务中间件 Maven
Mac使用Idea配置传统SSM项目(非maven项目)
Mac使用Idea配置传统SSM项目(非maven项目)
30 1
|
2月前
idea 2020.2及2020.3版本的安装和激活
idea 2020.2及2020.3版本的安装和激活
754 3
|
28天前
|
JavaScript 前端开发 Shell
mac和windows上安装nvm管理node版本
NVM(Node Version Manager)是前端开发者常用的命令行工具,用于管理计算机上的不同Node.js版本。通过NVM,开发者可以轻松地在多个项目间切换所需的Node.js版本。在Mac上,可以通过cURL或Wget下载安装脚本,或使用包管理工具brew安装。安装后需配置环境变量以识别NVM命令。Windows用户则可通过专用的nvm-windows安装程序完成安装。常用命令包括安装、卸载特定版本、列出已安装版本等。
78 0
|
2月前
|
Java 测试技术
idea for mac 最全快捷键整理
idea for mac 最全快捷键整理
160 12
|
2月前
|
Java Maven
Class path contains multiple SLF4J bindings,后来找到的解决思路是idea2019.3必须用java11和idea2019.3版本,必须用applicatio
Class path contains multiple SLF4J bindings,后来找到的解决思路是idea2019.3必须用java11和idea2019.3版本,必须用applicatio
|
2月前
|
Java Maven
SpringBoot第一次导入项目,Maven依赖全爆红,该怎样解决,idea2019.3版本,必须用application2.7.6或者以下
SpringBoot第一次导入项目,Maven依赖全爆红,该怎样解决,idea2019.3版本,必须用application2.7.6或者以下
|
2月前
|
Java
Error:Internal error: (java.lang.IllegalAccessError) class com.,idea2019.3版本,必须用application2.7.6或者以下
Error:Internal error: (java.lang.IllegalAccessError) class com.,idea2019.3版本,必须用application2.7.6或者以下
|
2月前
|
网络协议 安全 Linux
在IntelliJ IDEA中使用固定公网地址远程SSH连接服务器环境进行开发
在IntelliJ IDEA中使用固定公网地址远程SSH连接服务器环境进行开发
66 2