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

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

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

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

我自己编程生涯里写 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)。面对具有泛型的长方法链时,开发人员可通过该功能查看每个调用的类型提示。

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

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

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 工具窗口中给出代码覆盖情况报告。

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

Spring

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

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

Docker

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容