JavaRush /Java 博客 /Random-ZH /IntelliJ IDEA 2019.1:我们最喜欢的 IDE 有哪些新增功能?

IntelliJ IDEA 2019.1:我们最喜欢的 IDE 有哪些新增功能?

已在 Random-ZH 群组中发布
就在最近,IntelliJ IDEA 进行了更新,这是一个供专业人士(其中包括 JavaRush 的创建者和毕业生)和未来的程序员(特别是几乎所有 JavaRush 学生)使用的集成开发环境。 在本文中,我们将简要描述 IDEA 中影响 Java 开发人员的创新。

支持 Java 12 的预览功能 - Switch 表达式 ( JEP 325 ) 和 Switch 重复检测

Java 语言的第十二个版本于 3 月份发布,其中一个有趣的变化是带有运算符的新表达式形式switch。该运算符的经典形式具有有点麻烦的语法,这会导致不断的错误、调试困难以及开发人员理所当然的不喜欢。在 JDK 12 中switch,他们决定修复它,并简化了它的语法。然而,由于某些外行人不知道的原因,该新功能仅以预览版形式包含在 Java 12 中(这意味着即使在安装 JDK 12 后也必须手动“连接”)。更新后的IDEA已经学会了与所有类型的操作员充分合作switch。IDE 还学会了检测重复分支switch并通过快速修复合并它们。

有关 JDK12 中新增功能的详细信息,请参阅文章Java 12 已发布:新增功能是什么?

重构:扩展提取变量功能

IntelliJ IDEA 可以重新组织字符串文字和可执行代码。因此,如果您需要更改变量,只需选择它并选择提取变量选项,然后它就会在整个代码中被替换。现在该函数将更好地保留被修改的表达式的语义。该框架甚至能够从字段初始值设定项中提取变量,并且如果条件很重要,则提取的变量还可以自动将三元运算符转换为“if”(如果条件具有以下条件,则该条件被认为是重要的)空检查或“instanceof”检查)。

更准确地突出显示三元表达式中的条件

IntelliJ IDEA 2019.1 更准确地突出显示三元表达式中的可疑位置。现在,只有违反该值的条件才会突出显示null,而以前,即使违规仅在一个分支中,也会突出显示整个三元表达式。由于这个新功能,现在在switch- 表达式的情况下突出显示更加准确。

改进数学运算分析

数据流分析可以监视数学运算的结果,并使用此信息提醒开发人员注意始终为真或假的条件。IDEA 的作者改进了许多数学运算的分析,包括乘法、余数和按位运算。

对@Contract注解的改进

@Contract 注解用于定义方法必须遵守的契约。这允许 IDE 发现调用带注释方法的方法中的问题。@Contract 有两个属性 -valuepure。该属性value包含描述参数和返回值之间因果关系的子句。(“pure”)属性pure适用于不更改其对象状态,而只是返回新值的方法。如果不使用其返回值,则删除其调用不会影响程序状态或更改语义,除非方法调用抛出异常(该异常不被视为副作用)。因此,IntelliJ IDEA 2019.1 团队改进了对 @Contract 注解的支持。现在开发环境可以自动从源头判断构造函数的“纯度”。

从 Java 堆栈跟踪跳转到字符串中的相应位置

如果您已经达到 JavaRush 上的 Java 语法任务的第 9 级,那么您已经听说过堆栈跟踪是什么。简而言之,其本质是最后调用的函数必须首先完成。现在,当您单击 Java 堆栈跟踪时,IDE 将尝试确定您要将光标移动到的行上的确切位置。以前,这只会将您带到相应行的第一列。

JVM 调试器更改

  • 有一个新的“跳出块”操作,允许您在使用 JVM 调试器调试项目时退出当前块。
  • 如果您在调试时更喜欢使用鼠标,您的工作将变得更加方便:您现在只需在调试模式下单击行号即可触发移动到光标操作。
  • 现在支持synchronized,assertswitch调试器表达式计算器运算符。
事实上,IntelliJ IDEA 2019.1 还有更多创新。您可以在该 IDE 的作者 JetBrains网站上阅读有关它们的信息(但仅限英文版)。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION