IntelliJ IDEA 2022.2 包括对远程开发功能的多项质量改进,使其更时尚、更稳定。从 v2022.2 开始,IntelliJ IDEA 使用 JetBrains Runtime 17,它在许多方面增强了 IDE 体验和性能。IntelliJ IDEA Ultimate 增加了对 Spring 6 和 Spring Boot 3 功能的支持,并为其他几个框架引入了更新。新版本提供了许多其他值得注意的升级和改进,下面将详细介绍。
从 v2022.2 开始,所有 IntelliJ IDEA 更新都附带 JetBrains Runtime 17 (JBR 17),这带来了显着的 IDE 性能改进、更好的安全性、由于Metal API而在 macOS 上增强的渲染性能等等。
@AutoConfiguration
类和 @ConfigurationProperties
具有新构造函数绑定语法的类,而无需显式@ConstructorBinding
. 如果您想尝试 Spring 6 或将您的项目切换到这个新版本,请不要忘记更新 IDE。 为了在没有专门的运行配置的情况下更轻松地运行和调试单个文件,我们引入了运行/调试小部件中可用的新运行当前文件功能。在它的帮助下,您可以运行和调试当前打开的文件,IDE 将自动使用最适合该文件的运行配置类型。
有一个新的键盘快捷键可以更改编辑器中各处的字体大小。要增加字体大小,请按⌃⇧Period。要减小它,请按⌃⇧Comma。此外,现在有一个字体大小指示器显示当前字体大小以及将其恢复为默认值的选项。
对于 macOS,我们引入了通过将所有打开的项目窗口合并为一个来组织工作空间的功能,将每个窗口变成自己的选项卡。要执行此操作,请转到Window | 合并所有项目窗口。
您现在可以配置检查在编辑器中的显示方式,而无需更改其严重性级别。当您想要更改检查突出显示样式时,可以使用新的“编辑器中的突出显示”下拉菜单进行更改,该菜单可以方便地显示所有可用选项。
克隆存储库进度条现在出现在 IDE 的欢迎屏幕上,并显示在项目列表中,这使其更清晰、更易于使用。
“添加助记符书签”对话框已升级为“描述”字段,因此您现在可以立即向书签添加可选描述。
现在可以在按下 时禁用自动块注释关闭Enter。为此,请转到设置/首选项 | 编辑 | Smart Keys 并取消选中Enter部分中的Close block comment复选框。
您现在可以直接从代码完成弹出窗口中的 kebab(三个垂直点)菜单按钮访问代码完成设置并配置您的首选项。
当文件错误地与纯文本显式关联时,IntelliJ IDEA 现在会通知您错误的文件类型关联并建议直接从编辑器中重置它,而无需您在Settings / Preferences中手动进行。
现在可以根据文档标题轻松地在 Markdown 文件中生成目录。此新操作可从“插入”和“生成”弹出菜单中获得,您可以通过⌘N快捷方式或右键单击来调用该菜单。IDE 将在当前插入符号位置插入目录并用<!-- TOC -->
标记将其括起来,以便您以后可以通过调用相同的菜单对其进行更新。
我们对 Java 检查实施了一系列更改,以帮助您追踪潜在的错误并简化代码。例如,可以使用的标准“字符集”对象 检查已得到改进,因此它现在可以识别.name()
和.toString()
. IDE 现在可以在模式变量隐藏字段时向您发出警告,并捕获无意义Objects.requireNonNullElse
的调用。许多与 JUnit 相关的 Java 检查已转换为 JVM 检查,因此它们现在也可以在 Kotlin 中使用。此外,代码完成现在建议.class适用的文字。
Kotlin
我们已将 Kotlin 调试器与数据流分析功能集成,现在它会显示 DFA 提示,显示哪些条件为真以及将执行哪些分支。以前,此集成 仅适用于 Java,但现在也支持 Kotlin。
IntelliJ IDEA 原生构建器使用项目中配置的 Kotlin 编译器版本
从 v2022.2 开始,捆绑的 Kotlin 编译器不再与 IntelliJ IDEA 原生构建器一起使用。本地和 CI 构建现在都使用项目设置中声明的 Kotlin 编译器版本运行。此更改消除了以前由于捆绑编译器版本与项目构建文件中定义的版本不匹配而出现的本地构建和 CI 构建之间的不一致。
我们优化索引的最新工作对 IDE 在代码突出显示、完成和查找用法方面的速度和性能产生了积极影响。
IntelliJ IDEA 2022.2 现在可以帮助您从系统信任存储中导入受信任的 SSL 证书。它将自动使用特定于您的企业环境的自定义证书。您不需要采取额外的行动,因为一切都应该开箱即用。
我们升级了 IntelliJ Profiler,让收集快照变得更加容易。现在,当您开始分析时,CPU和堆内存实时图表与控制台并排显示。因此,您可以查看应用程序的执行情况,同时还可以在所需的分析期间从同一应用程序收集许多快照。
Kotlin 内联函数现在与其他函数一起显示在Flame Graph、Call Tree和Method List中,允许您查看它们的 CPU 时间并在需要时对其进行优化。目前,该功能仅适用于Start profiling 选项,但我们也在努力尽快将其添加到Attach模式。
Spring Framework 6 允许您将 HTTP 客户端定义为带有注释方法的 Java 接口。IntelliJ IDEA 2022.2 为此类接口提供 URL 完成、导航以及与 HTTP 客户端的集成。
IntelliJ IDEA Ultimate 现在为 Spring Cloud Gateway URL提供 URL 补全、 Search Everywhere 功能和Find Usages提示。您可以使用Endpoints工具窗口 轻松生成 HTTP 请求或查找所有网关路由
IntelliJ IDEA 2022.2 使用 Spring WebTestClient、RestAssured、WireMock 和 MockServer 等流行的 Java API 自动突出显示测试中的 JSON/XML 主体。因此,这些数据片段具有更好的可读性并且更易于编辑。您还可以使用 URL 完成并导航到测试中这些位置的声明。
您现在可以轻松地从.proto文件导航到生成的代码并返回。确保 gRPC 和 Protocol Buffers 插件都已启用。
IntelliJ IDEA 2022.2 现在可以识别使用 Spring Shell 库声明的 CLI 命令并检查它们的正确性。
IntelliJ IDEA 现在正确支持在 URL 完成、导航和Find Usages@ApplicationPath
中声明为和子资源的JAX-RS 通用 Web 服务 URL 模式。
IntelliJ IDEA Ultimate 2022.2 支持 WebSocket 连接,允许您创建请求以及发送和接收消息。
IntelliJ IDEA Ultimate 现在可以开箱即用地通过 HTTP 和 WebSocket 协议发送 GraphQL 查询。对于http://和 https://,使用简单的 HTTP 请求,而ws://和wss://被委托给 WebSocket 执行程序。
我们对 HTTP 客户端实施了一些 UI/UX 改进。首先,我们介绍了一种使用装订线中的图标选择运行环境的便捷方法。要启用它,请从Run with组合框中选择Select Environment Before Run选项 。其次,我们通过添加进度条改进了响应视图,使您可以跟踪下载过程。
JSON、YAML 和 .properties 文件现在具有在以http://和https:// 开头的值内自动插入 Web 引用的功能。您可以轻松地在 Web 浏览器中一键打开这些链接,或者您可以从上下文操作菜单 (⌥⏎) 在 HTTP 客户端中生成请求。
IntelliJ IDEA 2022.2 现在为 Java 和 Kotlin 的 Bean Validation 注解中的消息属性提供引用并支持折叠。您可以对消息键使用完成或导航到 i18n ValidationMessages.properties文件中的声明。
我们通过更新元数据模式和改进属性完成对 AWS CloudFormation 插件进行了重新设计。您可以 从 JetBrains Marketplace 安装插件的更新版本。
IntelliJ IDEA 2022.2 为 Testcontainers API 引入了镜像补全,您可以在其中找到所有可用的 Docker 镜像及其版本。单击参考以在您的 Web 浏览器中打开相应的 Docker Hub URL。
将本地 Docker 镜像上传到 Minikube 和其他连接
现在可以使用新的Copy Docker Image操作轻松地将图像从一个 Docker 守护程序复制到另一个,该操作将图像保存到文件中,然后将其推送到所选连接。
IDE 重启时 Docker 自动连接
IntelliJ IDEA 2022.2 现在会在您重新启动 IDE 后自动连接到 Docker。此新设置默认启用,但可以在设置/首选项 |中关闭。 高级设置 | 码头工人。
从 v2022.2 开始,IntelliJ IDEA 与 Colima 和 Rancher 集成以支持更多选项来建立与 Docker 守护程序的连接。
网页结构UI得到了显着改进。由于文本格式突出显示,现在您可以轻松阅读最重要的部分,例如标签名称、ID 和应用的 CSS 类。
通过排水沟图标轻松导航
现在,您只需单击装订线中的图标即可轻松导航回页面元素。
创建新页面对象文件时,向导现在提供了一个可选的 URL 字段。如果包含 Web 地址,向导会根据链接地址建议页面对象文件名。此外,页面对象编辑器打开时会自动加载插入的 URL。
在您的代码中添加新的页面元素时,插入符号现在会自动移动到添加的代码块的末尾,因此您可以轻松地导航它并继续编辑。
对于 v2022.2,我们通过实现选择多个 CSV 文件并一次导入它们的功能来增强文件导入过程。
“修改”对话框的新 UI已成为默认选项。从版本 2022.2 开始,可以使用此新 UI 添加和编辑表格的所有子对象。旧 UI 将通过上下文菜单保持可用。
我们一直在积极致力于 IntelliJ IDEA 2022.2 中对 Angular 14 的支持。我们在此版本中所做的最重要的补充是对 Angular 独立组件的支持。IntelliJ IDEA 现在可以正确识别标记为standalone: true
.
v-if/else
指令中的类型缩小。此外,对 Pania(Vue 团队推荐的作为全局存储的状态管理解决方案)的支持也得到了改进。现在,完成和解析都可以在 Vue 中与 Pinia 库一起使用,并且您可以导航到商店中定义的状态属性和操作。 IntelliJ IDEA 2022.2 与 TypeScript 4.7 捆绑在一起,支持Node.js 中的moduleSuffixes和 ESM等新语言功能。如果模块在tsconfig.json文件中设置为 node16 或 nodeext,它将自动将.js扩展名插入到 import 语句中。此外,IDE 支持package.json文件中的typesVersions字段。
从 v2022.2 开始,IntelliJ IDEA 可以从.tasty文件中读取匹配类型,正确解析它们,解析类型变量,将它们用作类型参数,支持检查,并将类型显示为文本。最重要的是,我们添加了对 无选项提取器、 类型 lambdas和 多态函数类型、 类型级编译器内在函数的支持,并作为通配符与 ?_
在 Scala 2.13.9 和 2.12.16 中。复制粘贴的代码现在也可以正确缩进。
IntelliJ IDEA 2022.2 现在会在return
匿名函数中使用关键字时向您发出警告,以跳出函数而不执行其中的所有代码。这通常不是预期的用途,并且可能导致泄漏的实现和隐藏的性能成本。当私有或 类触发一个新的警告参数隐藏超类变量。此外,当您尝试以编译器禁止的方式覆盖变量时,会显示错误。这些新警告可以配置为在它们各自的编译器选项 (-Xlint:nonlocal-return
和 -Xlint:private-shadow
) 存在时显示。
将逗号分隔的元素列表拆分为单独的行
如果您的代码行太长,因为它包含集合中的参数或元素列表,您现在可以使用弹出菜单中的 将参数放在单独的行上操作来快速将列表拆分为多行。相反的情况也是可能的——如果您认为多行列表足够短,您可以使用将参数放在一行操作使它们成为一行。
基于编译器的突出显示已针对更好的资源使用进行了调整。IDE 现在尊重用户定义的文件突出显示设置。现在在更少的情况下触发编译并使用更少的后台线程。编译范围已缩小到相关模块和源代码范围。
安全删除操作从定义及其所有调用中删除一个元素。此操作现在也适用于类型参数。