写点什么

JetBrains 发布了 IntelliJ IDEA 2016.1

  • 2016-04-17
  • 本文字数:1206 字

    阅读完需:约 4 分钟

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-04-17 19:005828

评论

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

如何使用 NFTScan API 检索 NFT 合约地址下 Transactions 数据

NFT Research

API NFT\ NFTScan

万万字图解| 深入揭秘Golang锁结构:Mutex(上)

云舒编程

golang 设计 mutex 字节

解决跨域问题的8种方法,含网关、Nginx和SpringBoot~

王磊

Java 面试题

左耳听风 - 研发效率「读书打卡 day 16」

Java 工程师蔡姬

读书笔记 程序员 个人成长 研发效率 职业发现

支撑核心系统分布式改造,GaussDB为江南农商银行筑稳根基

华为云开发者联盟

数据库 分布式数据库 后端 华为云 华为云开发者联盟

万字图解 | 深入揭秘HTTP工作原理

云舒编程

多路复用 HTTP web socket QUIC 图解网络

万字图解 | 深入揭秘TCP工作原理

云舒编程

三次握手 TCP协议 TCP四次挥手 MSL 滑动窗口

Axure RP 8使用技巧分享 含axure rp8汉化授权码

Rose

axure rp9下载 Axure RP 8汉化包 Axure破解版 Axure使用教程

如何让你的.NET WebAPI程序支持HTTP3?

不在线第一只蜗牛

Web 开发语言 http3 .NET 7

软件测试学习笔记丨JMeter使用代理录制脚本

测试人

软件测试

开发人员是怎么失去成就感的

云舒编程

程序员 发展 职业生涯 开发. #最有成就感的事

MySQL并发插入导致死锁

云舒编程

MySQL 并发 死锁

新书上线 | 《使用 NGINX 部署和保护 Kubernetes Ingress Controller》中文版

NGINX开源社区

nginx Kubernetes API NGINX Ingress Controller NGINX Service Mesh

近6成金融机构的选择!华为云GaussDB加快金融核心系统转型

华为云开发者联盟

数据库 后端 华为云 华为云GaussDB 华为云开发者联盟

日志资源成本减少35%:新东方可观测体系改造如何降本增效?

TakinTalks稳定性社区

WorkPlus AI智能客服解决方案,提升企业服务质量

BeeWorks

010 Editor v14.0激活版 Mac十六进制编辑器 含010 editor注册码

Rose

010 Editor破解版 010 Editor注册码 Mac文件编辑器 苹果电脑软件下载

TCP close_wait 引发的血案

云舒编程

TCP 压测 Wait 连接池

万字图解| 深入揭秘IO多路复用

云舒编程

异步 epoll select poll I/O 多路复用

1688店铺详情数据接口python

tbapi

1688 1688API 1688店铺详情数据接口 1688店铺详情数据采集

万字图解 | 深入揭秘Linux 接收网络数据包

云舒编程

数据包 中断 网卡 linux\ ringbuffer

这一年我们上线的运维自动化系统

37丫37

DevOps 运维 自动化 工具 开发.

万万字图解| 深入揭秘Golang锁结构:Mutex(下)

云舒编程

golang 面试 mutex 字节

“纯血”鸿蒙到来,对开发者是机会吗?

云舒编程

华为 鸿蒙 开发者 HarmonyOS 生态

《幻兽帕鲁》爆火,大厂坐不住了:这游戏是 AI 设计的?丨 RTE 开发者日报 Vol.134

声网

有了这张微积分知识地图,你可能会爱上高数!

博文视点Broadview

英特尔实现3D先进封装技术的大规模量产

E科讯

原来阿里字节员工简历长这样

云舒编程

简历模板 简历 应届生 大厂面试】 #面试

JetBrains发布了IntelliJ IDEA 2016.1_Java_Abraham Marín Pérez_InfoQ精选文章