业务云原生架构、推荐系统以及线上生活等热点方向的高可用高性能业务架构有哪些?点击了解 了解详情
写点什么

JetBrains 发布了 IntelliJ IDEA 2016.1

2016 年 4 月 17 日

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

2016 年 4 月 17 日 19:003664

评论

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

ARTS week 1

时之虫

ARTS 打卡计划

你的团队是干什么的?

姜戈

团队管理 团队职能

数据与广告系列三:合约广告与与衍生的第三方广告数据监控

黄崇远@数据虫巢

数据挖掘 互联网 广告 移动互联网

ARTS week 2

锈蠢刀

使用<input>标签实现六个格子验证码输入框

brave heart

Java vue.js 前端

python实现·十大排序算法之计数排序(Counting Sort)

南风以南

Python 排序算法 计数排序

你真的会用Mac中的Finder吗

Winann

macos 效率 App Mac

点击劫持:无X-Frame-Options头信息(修复)

唯爱

Spring Security 两种资源放行策略,千万别用错了!

江南一点雨

Java spring springboot springsecurity

Android原生人脸识别Camera2+FaceDetector 快速实现人脸跟踪

sar

Windows10 如何正确修改本地用户的名称及目录

喵喵侠

windows Windows 10 电脑故障 Windows技巧

在 Go 中使用并发编程 - 第二部分

TuringTuring

golang 并发编程 协程 线程模型

财富的大门给我开了一条缝

YoungZY

读书笔记 读书

提升输入效率第一步——切换双拼

dongh11

效率工具 提升效率 生产力 分享 有趣

假如孔乙己是程序员

顿晓

学习 程序员 孔乙己

管理规划篇

姜戈

团队管理 团队组织

使用 Markdown 制作五线谱

Roc

GitHub markdown 五线谱

2020年下半年计划

IT蜗壳-Tango

年度计划

栀子花,我们应该像你一样静静绽放

小天同学

个人感想 感悟 日常思考

好的软件工程原则

pydata

redis过期策略和内存淘汰机制

wjchenge

2020全球首创币期权DAPP智能合约强势来袭,闪耀数字经济

极客编

你为什么“啃不动”你手中的技术书?

图灵社区

Java Python 算法 HTTP R语言

宕机原因千千万,被雷劈了最无奈

田晓旭

教师节H5案例制作思路分享

喵喵侠

前端开发 H5游戏

写给产品经理的信(4):你一定要做产品经理么?

punkboy

生涯规划 产品 程序人生 产品经理 职业规划

RASP研发踩坑之agent 加载机制(1)

国服第一

Java JVM 类加载 RASP

健身一周年:持续锻炼带来无法想象的改变

Breeze

学习 职业 专注 健身

源码分析 | Mybatis接口没有实现类为什么可以执行增删改查

小傅哥

Java 源码分析 小傅哥 mybatis 编程思维

OBS推流学习笔记

IT蜗壳-Tango

直播 OBS 推流 B站直播

软件开发生产率改进之我见(二)

清水

软件工程 软件开发 技术管理

JetBrains发布了IntelliJ IDEA 2016.1-InfoQ