JetBrains 发布了 IntelliJ IDEA 2016.1

  • Abraham Marín Pérez
  • 顾俊

2016 年 4 月 17 日

话题:JavaJavaScriptScalaJetBrainsAndroidDevOps语言 & 开发

JetBrains 日前发布了 IntelliJ IDEA 2016.1,即他们最受欢迎的 IDE 的最新版本。这个版本应该是考虑了多语言开发者的需求,其在很多语言和技术上做了大量的优化;然而最明显的改动是对准了 Java 的,特别是在帮助开发者全面使用 Java 8 特性的方面。

第一个 IntelliJ IDEA 2016.1 版本明显的改动即它的版本号。JetBrains 正在修改他们所有产品版本的结构,他们采用了一种更加有意义的格式而不是用传统的语义化的版本(更加适合定义 API 的版本)。新的版本格式包含两个组件:发布的年份和这一年中的序号。这样改动的主要目的在于,不去管大版本和小版本的区别,将所有的版本发布看成对上一个版本的平等的增量,这样也可以和其他产品的版本更好的统一,举例来说,IntelliJ IDEA 的 2016.2 版本会包含 WebStorm 2016.2 版本中的相似功能。

除了版本号,第一件每天使用 IntelliJ IDEA 2016.1 的 Java 程序员会经历到的是,他们会碰到更多的警告,这是因为新版本中增加了新的代码检查。举例来说,尽管可选类型的概念在 Java 8 之前就在Google Guava中存在,但直到它被加入到原生的 Java 构造之后才变得流行起来。作为一个相对较新的概念,很多的程序员会在一些反模式的写法上碰壁,例如,在不首先检查 isPresent() 的情况下直接调用 get() 方法(他们会碰到 NoSuchElementException 异常),将可选类型用作方法的参数(这里用重载或许更加合适),又或是将可选类型用在数组或者集合中(这里空数组或者集合或许能用更少的模板表达同样的概念),IntelliJ IDEA 现在对这些场景都有检查。

因为 Guava 的可选类型还在一些代码中被使用,这些检查会对两者都进行校验,确认程序员使用得当。然而,当 IntelliJ IDEA 发现了一处 Guava 可选类型的使用,另外一个检查会出现,表明此处有将代码转换到 Java 原生版本的机会。如果此模式获得成功,相似的检查会被加入其中,提示用户可以进行相似的转化,例如用 Java 8 中新的日期和时间库代替流行的 JodaTime,就连 JodaTime 的作者也这么推荐

但是 Java 并不是此次版本唯一受益的语言。Kotlin 1.0 被默认支持,Scala 有更好的代码补全功能帮助其更好的命名,Groovy 可以在调试的时候设置 Watch 变量,JavaScript 也拥有了对 ES6 以及 TypeScript 1.8 的支持。其他的一些技术在 IntelliJ IDEA 2016.1 也有了更好的支持,例如对 Spring 框架和 Thymeleaf 的代码帮助,Android 的溢出活动分析器,还有新的 Docker 插件。

正如所有新版本的发布时一样,用户提交了一些初步使用的问题,特别是 Sping 框架相关的。然而,通过 JetBrains 在他们的博客以及Reddit或者Hacker News这些站点的反应来看,这些问题应该很快或获得解决。

查看英文原文:JetBrains Releases IntelliJ IDEA 2016.1


感谢张龙对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

JavaJavaScriptScalaJetBrainsAndroidDevOps语言 & 开发