查看原文
其他

IntelliJ IDEA 新版本特性

蓝字关注,一起程序员弯道超车之路


IntelliJ IDEA 2022.3 正式发布,在新版本中,开发者可以通过设置切换到新 UI,即可预览新的 IDE 外观。此版本引入了一个新的 Settings Sync(设置同步)解决方案,用于同步和备份自定义用户设置。此外,新版本的 IDE 还具有以下多项其他改进和升级。

主要更新

通过设置使用新 IntelliJ IDEA UI

在 IntelliJ IDEA 2022.3 中,您可以切换到新 UI 并预览 IDE 完全重做的外观,新外观干净、现代且功能强大。勾选 Settings/Preferences | Appearance & Behavior(设置 / 偏好设置 | 外观与行为)中的 New UI preview(新 UI 预览)框,在项目中尝试一下。

新的 Settings Sync(设置同步)解决方案

新的 Settings Sync(设置同步)插件现在可用于所有基于 IntelliJ 的 IDE(Rider 除外),包括免费版和付费版。新的解决方案能够同步来自平台、捆绑插件和一些第三方插件的大部分可共享设置。请注意,我们将停止支持旧的 IDE Settings Sync(IDE 设置同步)插件并取消捆绑 Settings Repository(设置仓库)。

处理 WSL 2 中的项目的新方式(Ultimate)

IntelliJ IDEA Ultimate 2022.3 带来了处理在 WSL 2 文件系统中运行的项目的替代方式。IDE 后端将直接在 WSL 2 中启动,而不是在 Windows 上运行完整的 IDE。然后,您可以像在 IntelliJ IDEA 中使用远程开发时连接到远程机器一样轻松连接到它。处理 WSL 2 中的项目时,这种安排可以提供更好的 IDE 性能。

适用于 Spring Bean 自动装配和 OpenAPI 架构生成的新操作(Ultimate)

使用 IntelliJ IDEA Ultimate 2022.3,您现在可以在需要的地方轻松自动装配 Spring Bean。这项新操作适用于 Spring、Micronaut 和 Jakarta EE CDI。此外,我们还增强了使用 OpenAPI 规范记录 Web API 的用户体验,现在可以立即为 Spring 控制器或 JAX-RS 资源生成 OpenAPI 定义。

Redis 支持(Ultimate)

在 IntelliJ IDEA Ultimate 2022.3 中,我们实现了备受期待的对 Redis 的支持。您现在可以连接到 Redis Single Instance,在数据查看器中探索键值,借助智能编码辅助编写和执行 Redis 查询等。

用户体验

将工具窗口停靠到浮动编辑器选项卡的选项

为了让您可以更轻松地安排工作空间并在多个显示器上与 IntelliJ IDEA 交互,我们实现了将工具窗口拖出主窗口并将其停靠到浮动编辑器选项卡的选项。

意图操作预览默认启用

在 IntelliJ IDEA 2022.3 中,意图操作的预览功能现在默认开启,让您可以立即查看应用 IDE 建议后代码将如何变化。打开可用意图操作列表并将鼠标悬停在不同选项上时会显示预览。您可以在意图操作列表打开时按 F1 禁用预览功能,或者在 Settings/Preferences | Editor | General | Appearance(设置 / 偏好设置 | 编辑器 | 常规 | 外观)中管理。

改进了 Search Everywhere(随处搜索)结果的用户体验

我们微调了 Search Everywhere(随处搜索)结果列表背后的算法,使其行为更可预测,使搜索的元素的选择更加准确。现在,开始输入查询时,IDE 会冻结出现的第一个搜索结果,并且不会在找到更多选项时对其重新排序。此外,机器学习排名现在对 Files(文件)选项卡默认启用,这样可以提高结果的准确性并缩短搜索会话。

Find Usages(查找用法)结果中的相似用法集群

Find Usages(查找用法)现在提供有关代码元素如何在项目中使用的更深入信息。借助集群算法,IDE 现在可以分析搜索结果,检测最常见的用法模式,并根据结构相似性将所有找到的用法分类。这些用法集群显示在 Find Usages(查找使用)工具窗口的 Preview(预览)选项卡中。

改进了 Tips of the Day(每日小技巧)

我们对 Tips of the Day(每日小技巧)的外观和行为做出了多项更改,使其更实用且更易理解。我们更新了对话框的设计,为每个小技巧添加了标题以指定描述的 IDE 区域,并实现了技巧评分功能以收集反馈。我们还微调了确定显示哪些提示的算法,让您可以看到与 IDE 体验和正在处理的项目最相关的提示。

改进了 Bookmarks(书签)

我们为 Bookmarks(书签)实现了多项 UI 改进。首先,又可以从编辑器选项卡为文件添加书签了。只需右键点击选项卡调用上下文菜单,然后选择 Bookmarks(书签)。此外,您可以将所有打开的选项卡中的所有文件添加到 Bookmarks(书签)。为此,可以调用相同上下文菜单并选择 Bookmark Open Tabs(为打开的选项卡添加书签),也可以使用编辑器选项卡窗格右侧的三点图标调用此操作。IDE 会将所有打开的选项卡放入一个新的书签列表中,您可以随意为其命名。

以偏好代码样式查看库代码

IntelliJ IDEA 2022.3 提供了以偏好样式阅读代码的功能,即使该样式与文件的当前格式不同。您可以在 Reader(阅读器)模式下应用新的可视格式设置层,根据自定义格式方案调整代码外观,而无需重新格式化实际代码。

性能改进

我们进行了显著性能改进以优化 IDE 的启动体验:我们并行化了一些此前按顺序运行的进程并减少了 Eager 类加载。我们还将操作更新移至后台线程以改进 UI 响应,并实现多线程 VFS 刷新来增强索引编制。

编辑器

改进了复制剪切粘贴行为

我们重做了粘贴操作 (⌘V) 的行为。现在,如果在没有选择代码的情况下复制 (⌘C) 或剪切 (⌘X) 一行,粘贴操作会将剪贴板的内容添加到当前行上方,而不是像旧版本一样添加到文本光标处。此外,Settings/Preferences | Advanced Settings(设置 / 偏好设置 | 高级设置)中新增了一个选项,可供在未选择任何内容的情况下调用复制操作后禁用复制行的选择。

针对 JavaScript 和 TypeScript 的 Code Vision 提示

我们针对 JavaScript 和 TypeScript 实现了 Code Vision 内嵌提示。这些提示让您可以直接在编辑器中即时了解代码,显示 inheritors(继承者)、usages(用法)、code authors(代码作者)和 related problems(相关问题)等指标。

Java

新的 Java 检查和其他改进

我们实现了一系列新的 Java 检查和快速修复,保护您的代码免受潜在危害和错误。新增了一项检查来帮助检测在每个分支中都有一条公共语句的 switch 表达式,并提供了一个快速修复来将语句向上移动到 switch 表达式中,从而缩短代码。IDE 将报告冗余数组长度检查,以及 Collection.parallelStream() 之后的冗余 parallel() 调用。另一项新检查可以报告仅使用一个元素或字符时数组、列表或字符串的多余创建。

Java 19 支持

IntelliJ IDEA 2022.3 支持 2022 年 9 月发布的 Java 19 的新功能。IDE 现在支持记录模式以及对 switch 表达式模式匹配的更改,提供了代码高亮显示、补全和导航。现有检查和快速修复已相应更新以支持这些更改。

Kotlin

对 Kotlin 1.7.20 功能的支持

IntelliJ IDEA 2022.3 现在完全支持 Kotlin 1.7.20 中引入的功能,包括新的 ..< 运算符和数据对象声明。

针对 Kotlin 改进了 IDE 性能

我们优化了缓存和索引的使用,使代码分析更快、更稳定。我们还改进了 .gradle.kts 文件中的代码补全算法,根据我们的基准测试,它的速度提高了 4-5 倍。

Scala

更出色的 Scala 3 支持

v2022.3 引入了大量升级以提供更好的 Scala 3 支持。IDE 现在支持形参解组和引用模式,并且在匹配类型和类型变量的支持方面做出了诸多改进。现在有针对类型变量的类型推断,类型变量会被正确解析以用于模式匹配目的。特征构造函数中的命名实参已得到正确处理,您可以使用一项操作快速创建一个 Scala 3 枚举文件或仅为顶层定义创建一个空 Scala 文件。我们还有许多 TASTy Reader 增强,提高了高亮显示的准确性并改进了编辑器性能。

新的 Can be private(可为 private)检查

有时可以将 public 类、方法或字段设为 private 或 protected。然而,当代码较为复杂时就很难判断。新的 Can be private(可为 private)检查现在可以帮助您确定,还会提出快速修复建议。将可为 private 的成员实际标记为 private 后,您可以将接口与实现详细信息分离,从而更容易理解代码。这也减少了自动补全中的噪声,使使用过程更容易、更快,同时减少认知负担。它还提高了编译器和 IDE 的性能。

从用法创建形参

如果在方法中有一个未解析的符号,新增的快速修复可以将这个符号添加到方法的形参列表。

版本控制系统

为 GitHub 和 Space 重新设计了 Review list(审查列表)

我们重做了 Review list(审查列表)UI,帮助减少认知负担并清晰提供有关请求的最重要信息。在改进中,我们还确保在所有受支持的审查平台上保持一致的外观。

构建工具

针对 Groovy 项目中 build.gradle 文件操作的改进

IntelliJ IDEA 2022.3 为 Groovy 构建脚本中的 Gradle 版本目录提供了代码补全和导航。我们还微调了 Groovy 的 build.gradle 文件中的代码高亮显示,并实现了一些新检查。IDE 现在会高亮显示已弃用的配置方法并建议适用替换选项。它还能够检测构建脚本中插件 DSL 的不正确用法,并提供了一组新检查来鼓励使用任务配置规避 API

使用新 IntelliJ IDEA 工作区模型 API 的 Maven 导入

在 IntelliJ IDEA 2022.3 中,我们使用新的 IntelliJ 工作区模型 API 引入了实验性 Maven 导入功能。此更改有望在导入 Maven 项目时提高最高 10% 的速度。选项现在在 Settings/Preferences | Build, Execution, Deployment | Build Tools | Maven | Importing(设置 / 偏好设置 | 构建、执行、部署 | 构建工具 | Maven | 导入)中默认启用。请注意,并非所有功能在此阶段都可用,部分手动模块设置在重新导入时不会保留。

Maven2 支持插件

从 v2022.3 开始,我们将解绑对 Maven2 的支持,改为通过一个独立插件提供,您可以从 Settings/Preferences | Plugins(设置 / 偏好设置 | 插件)查找并安装或从 Marketplace 下载。

运行 / 调试

增强了 Java 调试器中的数据流分析辅助

我们改进了 Java 调试器中的数据流分析 (DFA) 功能。DFA 辅助已经预测了某些表达式的未来值。现在,当分析器可以预测代码的某个分支不会被执行时,它会灰显对应代码部分。

排除覆盖注解的新选项

IntelliJ IDEA 2022.3 引入了一个选项来控制项目中哪些注解应从覆盖统计信息中排除。要将不想测试的方法通知 IDE,首先用任意注解标记,然后转到 Settings/Preferences | Build, Execution, Deployment | Coverage(设置 / 偏好设置 | 构建、执行、部署 | 覆盖)并将注解添加到 Exclude annotations(排除注解)列表。

Docker

在不安装 Docker Desktop 的情况下从 WSL 使用 Docker 可执行文件

从 v2022.3 起,IntelliJ IDEA 支持连接到 WSL 中运行的 Docker。您可以在 Settings / Preferences | Build, Execution, Deployment | Docker(设置 / 偏好设置 | 构建、执行、部署 | Docker)中设置此类连接。

Pull Docker image(拉取 Docker 镜像)意图操作

新增的方式可供轻松拉取所需镜像,而无需从 Dockerfile、docker-compose.yml 或使用 Testcontainers 的测试中运行。只需在高亮显示的镜像名称上调用上下文操作 (⌥⏎),然后选择 Pull Docker image(拉取 Docker 镜像)。

.dockerignore 文件类型支持

我们引入了对 .dockerignore 文件的全面支持,包括代码高亮显示和补全。从 IDE 构建镜像时,这些文件会被纳入考量。

在 Dockerfile 文件中支持 heredoc 格式

Here 文档允许将后续 Dockerfile 行重定向到 RUN 或 COPY 命令的输入。IntelliJ IDEA 现在支持此语法,您可以使用它在 Dockerfile 文件中生成配置文件或多行脚本。

来自 Docker 上下文的 Docker 连接

如果 Docker 配置文件中已经进行了设置,那么您现在可以使用 Docker Contexts(Docker 上下文)设置额外 Docker 连接。为此,您可以在 Services(服务)视图中调用 Add Service(添加服务)上下文菜单并选择 Docker Connections From Docker Contexts(来自 Docker 上下文的 Docker 连接)。

已弃用的 Docker Machine 已从支持的连接列表中移除

由于 Docker Machine 已被 Docker 弃用,我们也已将其从 Settings/Preferences | Build, Execution, Deployment | Docker(设置 / 偏好设置 | 构建、执行、部署 | Docker)中的连接列表中移除。如果您是活跃的 Docker Machine 用户,仍然可以通过 API URL 连接到它。您可以获取 Docker 机器列表并输入相应 URL,也可以输入 certs 文件夹的路径。

教育功能

IDE 中的编程课程

现在,可以直接在 IDE 中学习 Java、Kotlin、Scala、Python、Go 和其他编程语言或者提高现有技能。新功能还提供了创建个人教育课程的功能。要访问此功能,请转到欢迎屏幕上的 Learn(学习)选项卡,点击 Enable Access(启用访问)。注意,对于 Java 和 Kotlin 以外的语言,您需要安装一个额外插件。

其他

  • 现在,可以在带有 ARM64 处理器的 Windows 和 Linux 机器上运行 IntelliJ IDEA 2022.3。IDE 安装程序处于测试版阶段,网站和 JetBrains Toolbox App 均提供 Windows 版,但 Linux 版仅可从网站获得。
  • 与 IntelliJ IDEA 捆绑的 Android 插件现在提供了 Android Studio Electric Eel Beta 2 的所有功能,包括对 Android Gradle 插件(AGP)7.4.0-beta02 的支持。
更多详情可查看:https://www.jetbrains.com/idea/whatsnew/




↑ 点击即可关注 ↑


关于我的近况

目前在 SaaS 创业中,如果你想成为技术高管或技术转创业,那必不可少的要懂商业、营销、产品等等。

也可以点击下方去阅读我 SaaS 创业的原创公号分享


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存