IntelliJ IDEA 发布2021年最终版v2021.3!

518 阅读16分钟

IntelliJ IDEA是Java语言开发的集成环境,IntelliJ在业界被公认为优秀的Java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。

IntelliJ IDEA 12月正式发布今年最后一个重大版本v2021.3,此版本正式官宣提供对远程开发 (Beta) 的支持,并引入了一种使用Repair IDE...操作来解决 IDE 问题的新方法。它还为 Kotlin 带来了调试器更新和常量条件检查,以及其他有价值的更改。

点击下载IntelliJ IDEA v2021.3最新版

本文将为您提供IntelliJ IDEA v2021.3中需要了解的所有主要功能和改进的快速更新:

关键更新

  • 对远程开发 (Beta) 的支持让软件工程师可以连接到远程机器,在其上部署 IDE 后端,并像在本地机器上一样处理位于那里的项目。
  • 有一种更快的新方法可以诊断和修复 IDE 的问题 -修复 IDE...操作,可在“文件”菜单中找到。
  • Smart Step Into 操作现在适用于 Kotlin 代码。它允许您使用链式方法调用和 lambda 来调试表达式,突出显示您可以进入的方法和 lambda。
  • 调试器可以检测 Kotlin 内联函数并在堆栈跟踪面板中显示内联函数调用。
  • Kotlin的新常量条件检查可帮助 IntelliJ IDEA 报告静态已知始终为真、假、空或零的非平凡条件和值。它的工作原理与 Java 的类似检查相同。

编辑

  • 可以使用 macOS 上的⌘+鼠标滚轮或Windows 和 Linux 上的Ctrl+鼠标滚轮同时更改所有打开的选项卡中的字体大小。
  • 您现在可以轻松地在 Markdown 文件中插入表格。
  • 使用编辑器选项卡变得更容易。只需单击选项卡窗格右上角的三个点即可访问所有选项卡操作。
  • 意图预览现在适用于 Kotlin 中的更多意图操作和快速修复,并显示不支持预览的意图操作的 HTML 描述。

用户体验

  • 当您在 macOS 上使用F3快捷方式或在 Windows 和 Linux上使用F11时,您的文件、文件夹和类将出现在新的书签工具窗口中。
  • 可以使用选项卡拆分“运行”工具窗口。这允许您同时运行多个配置并查看所有结果。
  • 在搜索操作时,IntelliJ IDEA 中的Search Everywhere使用机器学习对结果进行排名。
  • New Project 向导窗口中重新设计的Empty Project节点允许您创建一个基本项目来处理不同类型的单独文件,您还可以在其中添加 Java 和 Kotlin 类。
  • 新的多模块项目节点可让您从头开始创建具有复杂结构的项目。
  • 默认情况下,当您通过macOS上的⌥ F7或Windows 和 Linux 上的Alt+F7搜索方法实现的用法时,IntelliJ IDEA 现在使用顶级层次结构方法作为目标。
  • “显示用法”对话框现在包括每个找到的用法的源代码预览、更改搜索范围的功能以及查看您正在搜索的代码元素类型和找到的用法数量的选项。

辅助功能更新

  • 当屏幕阅读器处于活动状态时,IDE 不再显示曾经出现在鼠标悬停时出现的工具窗口小部件弹出窗口和快速文档弹出窗口。
  • 我们还修复了调用Go to Declaration对话框的问题。
  • macOS 上的辅助功能支持也得到了改进。我们已经解决了画外音焦点的几个问题,并使屏幕阅读器可以在您创建项目时检测“新建项目”向导中的列表项。
  • 为了最大限度地减少编码时潜在的干扰,我们减少了播放声音的帮助工具提示的数量。

Java

  • IntelliJ IDEA 添加了一个新的检查“传递给安全方法的非安全字符串”,这有助于避免将不安全的数据传递给使用 org.checkerframework.checker.tainting.qual 注释的项目中的安全方法。此检查可以检测到的问题包括 SQL 注入和 XSS 缺陷。
  • 添加了两个可以帮助您简化代码的新检查。第一个建议您将collect(toList())替换为.toList()。您可以在 Java 16 及更高版本中使用它。另一个检查提示您将collection.addAll(List.of(“x”))替换为collection.add(x),并将map.putAll(Map.of(“a”, “b”))替换为map.put (“a”,“b”)。
  • 在 Java 中引入局部变量的设置不再出现在弹出窗口中,用于隐藏您正在编写的代码。您现在可以通过变量旁边的齿轮图标或使用macOS 上的⌥+⇧ +O快捷方式或Windows 上的Alt+Shift+ O 来访问它们。
  • 当您调用Introduce 参数重构时,IDE 会询问您要替换出现的位置。做出此选择后,将出现一个齿轮图标,允许您为重构配置更多设置。
  • 您可以通过选择修改选项 |在每个配置的基础上在运行/调试配置对话框中定义自定义类路径。修改类路径。

Kotlin

  • 引入了新的重构,可让您在 Kotlin 中提取常量。
  • 非阻塞上下文检查中的可能阻塞调用现在可自定义,涵盖更多情况,并提供快速修复。
  • 添加了内联提示,使用简单的数学符号来解释范围内的单词或符号的作用。
  • 通过为所有字段添加工具提示、删除一些不受欢迎的模板并添加一个新模板来让您创建 Compose Web 应用程序并简化项目设置步骤,重新设计了“新建项目”向导的布局。

JavaScript

  • 直接从编辑器将您的 npm 包更新到最新版本。
  • 代码完成在 HTML 中的工作方式已得到改进。每当您在编辑器中键入标签名称或缩写或调用代码完成时,IntelliJ IDEA 都会立即向您显示相关建议。

Scala

  • 此版本的一大重点是对 Scala 3 的支持。我们添加了高亮显示,导航和自动完成为结束标志,给定的,使用,和exportkeywords,柔软的关键字,和安静的语法。此外,TASTy 阅读器现在可以解析包对象,以及更高级类型的方差和边界。
  • Scala 3/Scala 2 交叉编译项目可以作为Scala 2 项目打开。
  • Scala 插件现在支持数据流分析,可以帮助您更轻松地检测编程错误。
  • Scala 编译器选项现在可以自动完成,您甚至可以查看每个选项的快速文档。
  • 嵌入提示可用于 Scala 中的范围。

SSH

  • 可以在Preferences/Settings | 中为您的SSH 配置指定 HTTP 或 SOCKS 代理服务器。工具 | SSH 配置。

Profiler

  • Windows 版本的 IntelliJ IDEA Ultimate 支持开箱即用的 Async Profiler 2.0。
  • 可以比较快照以检查所做的更改是否适用于程序或导致回归。

构建工具

  • Maven 配置进行了重大的重新设计。关键参数都集中在一个屏幕上,而其他参数可通过修改 选项获得。
  • 现在可以为 . 首选项/设置中的mvn/maven.config文件| 构建、执行、部署 | 通过选择Use settings from .mvn/maven.config来使用Maven。

版本控制

  • 当您需要检出选定的分支并将其变基到当前检出的分支之上时,您可以使用检出和变基到当前 操作,该操作以前仅适用于本地分支。在 IntelliJ IDEA 2021.3 中,您也可以将其用于远程分支。
  • 该方式的设置首选项/设置| 版本控制的结构得到了改进,一些关键配置现在更容易被发现。
  • 提交之间的差异现在显示在位于编辑器左侧的单独更改工具窗口中。
  • 新的Push All up to Here操作允许您只推送您确信的提交,并将其余的留待以后。
  • 新的对齐更改突出显示选项使差异更易于阅读,因为未更改的行对齐以便它们彼此相邻显示。这有助于您更清楚地看到已添加或删除的代码。

终端

  • Windows 上对ConPTY API 的新支持解决了旧实现的几个问题,包括在终端中支持 24 位颜色。
  • 终端中新增的预输入支持可预测文本修改并立即以浅灰色显示。

调试器

  • 该评估目前场是在访问正确的调试工具窗口,使最便捷的方式计算表达式更明显。

框架和技术

  • IntelliJ IDEA 的 HTTP 客户端为 gRPC 请求提供了必不可少的支持,包括代码完成和在 HTTP 客户端中生成 gRPC 请求的能力。
  • 在 IntelliJ IDEA 中测试流应用程序时,您不再需要等待流结束,因为 HTTP 客户端将即时显示输出。
  • HTTP 客户端可以检测响应中的图像并在响应控制台中显示它们的预览。
  • 在 HTTP 客户端中,可以使用 >> 和 >>! 将输出重定向到自定义文件或目录。运营商。
  • 请求标识符可以通过@name 作为注释添加,也可以作为第一个分隔符 (###) 中的文本添加。
  • Qute 模板为您的 Quarkus 项目提供支持。
  • IntelliJ IDEA 可以检测您的 OpenAPI 规范何时位于多个文件中并通过 $ref 链接,并为它们提供补全。
  • 将 'org.jetbrains:annotations:22.0.0' 添加到项目依赖项时,您可以将类和方法注释为 @Blocking 或 @NonBlocking。这允许 IDE 检测非阻塞上下文中的阻塞调用,例如 Kotlin 协程或使用 Project Reactor、RxJava 或 SmallRye Mutiny 的反应式代码。
  • Spring 和 Java EE 中的阻塞代码检测已得到改进。
  • Spring Bootprojects的Run/Debug Configurations对话框已经过重新设计,因此关键设置现在位于一个屏幕上,更多参数可通过Modify Options 获得。
  • 当spring.config.import键用于引用另一个文件时,IntelliJ IDEA 在附加配置文件(属性或 .yaml 文件)中提供代码完成。
  • 对于 Spring Boot 项目,IDE 现在支持代码完成并从@Value、@Scheduled和Environment.getProperty() 中查找对application.yaml 的引用的用法。
  • 查询方法完成现在适用于在 Spring Data JPA 项目中声明为@NamedQuery 的查询。您还可以通过装订线图标导航到@NamedQuery的定义。
  • 所有 CDI 检查都可以在 Kotlin 文件中使用,并且 CDI 装订线图标也可以在其中使用。这些图标允许您快速导航到注入点或注入候选、bean 制造商、处置器方法和事件。
  • 在 Java 和 Kotlin 中,UML 类图的所有过程都更快。其他显着更改包括新网格、成员突出显示和快速文档预览弹出窗口。

空间整合

  • 您现在可以在 Space 中提交合并请求并为您的项目创建代码审查。
  • IntelliJ IDEA 用蓝点标记您尚未修改的所有文件,因此您在执行代码审查时不会错过任何关键更改。

数据库工具

  • 添加了显示一系列单元格的聚合视图的功能,这将帮助您管理数据并使您不必编写额外的查询。
  • 现已全面支持基于真实数据源生成 DDL 数据源的工作流。数据配置属性中有一个新选项卡 DDL 映射,您可以在其中定义哪个真实数据源映射到每个 DDL 数据源。
  • 新的数据库差异窗口可从上下文菜单中获得。它有一个更好的用户界面,可以清楚地显示在右侧窗格中执行同步后将获得的结果。
  • 为 Oracle 数据库引入了三个级别的自省,从最快到最慢不等。使用上下文菜单根据需要切换内省级别。

Kubernetes

  • Helm 模板的格式已得到显着改进。
  • 现在使用包含 Go 模板包含的代码变得更加容易,因为我们在 Helm 模板中为以下块元素添加了突出显示:if、else、range、with和define。
  • IntelliJ IDEA 现在支持在 ConfigMap 资源中为具有.yaml、.json、.properties等扩展名的键自动注入各种语言的代码。
  • 服务工具窗口中有一个新按钮,允许您重新运行上一个 Helm 命令。

Docker

  • 在首选项/设置 | 构建、执行、部署,您可以选择Minikube单选按钮以从 Minikube 连接到 Docker 守护程序。
  • 所有可用的注册表都显示在“服务”工具窗口中的单独节点中。此外,还添加了对GitLab (registry.gitlab.com)和JetBrains Space (.registry.jetbrains.space) 的支持。
  • 现在连接到 Docker 所需的时间更少,因为您只需双击必要的节点或使用新的快捷方式 – ⌘+Enter在 macOS 上或Ctrl+Enter在 Windows 和 Linux 上。在启动容器的动作也可以用这个快捷键调用。
  • 当您右键单击Networks、Volumes、Containers或Images节点时,您可以选择新的清理操作,IDE 将删除未使用的对象。
  • 我们添加了对Compose V2 的支持,它允许您将 Docker Compose 命令作为docker compose而不是docker-compose(带破折号)运行。
  • 服务工具窗口中的新图层选项卡允许您跟踪应用于图像的所有命令。
  • 在服务工具窗口中,您可以右键单击容器并选择图像 | 另存为新镜像以推送本地存储的预配置容器,以便稍后远程使用。
  • 现在支持Podman作为管理 Pod、容器和图像的替代方法。在 IDE 中使用 Podman 之前,您需要配置一个连接。

质量保证工具

  • 一个巨大的更新带来了对 Selenium 中 UI 测试自动化的支持——可视化编辑器现在可以帮助您维护现有的页面对象类。
  • 已实现对多级测试运行的支持。您现在可以为特定功能域或测试类型创建多个子测试运行。每个父测试运行汇总子测试运行的结果,并提供所有子相关测试运行的汇总统计信息。
  • 测试管理插件现在支持格式丰富的描述。测试用例描述或步骤一直都是用 Markdown 编写的,但现在可以直接在 TMS 预览窗口中显示和绘制格式。
  • 来自测试自动化工具包的最新插件已收到一些小错误修复,以及多个数据生成器设置中的有用功能。现在,您可以使用多行定义修改前缀、后缀和分隔符。

质量提升

  • 修复了层次结构工具窗口,使其正确显示至少具有一个实现的接口方法的用法。[ IDEA-275145 ]
  • 修复了在 Linux 上导致多个 IDE 崩溃的原因。[ IDEA-248140 ]
  • 如果 IDE 由于操作系统关闭而关闭,则修复了每次启动时重复索引的问题。[ IDEA-275337 ]
  • 修复了 Maven 包装器功能。IDE 现在会自动下载 Maven Wrapper(如果您尚未下载)并将其用于 Maven 目标执行。此外,IDE 在打开项目时下载 Maven Wrapper 时保持响应并显示下载进度。[ IDEA-258757 ]、[ IDEA-276012 ]、 [ IDEA-246835 ]
  • 如果您使用字体缩放功能,它现在会应用于所有打开的文件,而不仅仅是当前的文件。您可以通过在Preferences/Settings | Mouse control部分中选择All editors单选按钮来激活这个新选项。编辑| 一般。[ IDEA-158642 ]
  • 修复了自动保存功能,因此即使打开弹出窗口也能正常工作。[ IDEA-128672 ]
  • 修复了在尝试重新加载所有 Maven 项目或执行 Maven 目标时会发生的 WSL 2 错误。[ IDEA-266222 ]
  • 修复了在启用 Gradle的Delegate IDE 构建/运行操作时导致不生成爆炸 WAR 的错误。[ IDEA-176700 ]
  • 修复了停止按钮的行为。当您停止WildFly Run Configuration 时,不再出现Terminate Batch Job提示。[ IDEA-273497 ]
  • 修复了在 macOS 上的文件选择器对话框中浏览时 UI 冻结的问题。[ IDEA-274712 ]
  • 修复了 WSL 2 中导致 IDE 无法识别 Maven 多模块依赖的错误。 [ IDEA-265900 ]
  • 修复了修改后的.vmoptions文件,以便在 IntelliJ IDEA 版本升级期间正确更新它们。[ IDEA-240526 ]
  • 现在可以在 Markdown 中禁用列表编辑。为此,请转到首选项/设置 | 语言和框架 | Markdown并取消选择编辑器中的自动辅助复选框。[ IDEA-273049 ]
  • 修复了欢迎界面;项目列表现在是重点。[ IDEA-217756 ]
  • 在调试过程中按下 F10 时,焦点不再转移到文件菜单。[ IDEA-138429 ]
  • 修复了 Maven 资源编译器,该编译器在 WSL 2 中构建项目时返回Failed to copy错误。 [ IDEA-266670 ]
  • 修复了打开多个选项卡时选项卡错误关闭的问题。[ IDEA-274154 ]
  • 修复了在文件中查找对话框中的文件掩码字段。该列表现在可以正确显示。[ IDEA-236785 ]
  • 修复了在 macOS 上双击窗口标题栏时 IDE 的行为。[ IDEA-274588 ]
  • 修复了拼写检查器。它现在可以识别带有撇号的单词。[ IDEA-246846 ], [ IDEA-266236 ]
  • 修复了差异选项卡,以便在比较文件时显示正确的文件名。[ IDEA-269958 ]
  • 修复了在无干扰模式下工作时导航栏不会保持禁用状态的问题。[ IDEA-278664 ]
  • 修复了将外部工具添加到快速列表的能力。[ IDEA-257383 ]
  • 修复了注释面板,使其显示与应用于整个 IDE 相同的主题。[ IDEA-233913 ]
  • 修复了 YAML 代码格式化程序的格式。[ IDEA-199963 ]
  • 修复了 VM 选项,以便它们在配置后保持应用。[ IDEA-278976 ]
  • 修复了当您从 JetBrains Toolbox App 启动 IDE 时导致 ProxyCommand 中出现错误环境变量的错误。[ IDEA-222673 ]
  • 修复了新的 Maven 运行配置,使其与以前版本的 IDE 兼容。[ IDEA-279198 ]
  • 添加了调试各种 Gradle 脚本的功能。[ IDEA-267460 ],[ IDEA-206650 ],[ IDEA-194493 ]

其他

  • 添加了对 Android Studio Arctic Fox 2020.3.1 的支持。
  • IntelliJ IDEA 现在支持 Groovy 4,包括成熟的代码洞察、功能检查和意图操作。还支持其他功能,例如switch 表达式和密封类型。