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 )关注我们。
评论