IntelliJ IDEA - 2022.2 正式发布!众多特性解读!

IntelliJ IDEA 2022.2 包括对远程开发功能的多项质量改进,使其更时尚、更稳定。从 v2022.2 开始,IntelliJ IDEA 使用 JetBrains Runtime 17,它在许多方面增强了 IDE 体验和性能。IntelliJ IDEA Ultimate 增加了对 Spring 6 和 Spring Boot 3 功能的支持,并为其他几个框架引入了更新。新版本提供了许多其他值得注意的升级和改进,下面将详细介绍。             

关键更新

e115dbe5845d7583181b9a9813ecea3b.png

远程开发改进

我们在 IntelliJ IDEA 2022.2 中引入了大量远程开发的重大升级,让您的体验更加稳定和功能丰富。新发布的更新带来了各种质量改进。通过 SSH 将您的笔记本电脑连接到安装在远程服务器上的 IntelliJ IDEA,并获得流畅的开发人员体验。如果您使用 JetBrains Space 通过新版本有效地编排后端,您可以直接从 IntelliJ IDEA 管理您的开发环境。

50fbc177e9e01e52b75e0dd55fe342e5.png

从 JBR 11 到 JBR 17 的转换

从 v2022.2 开始,所有 IntelliJ IDEA 更新都附带 JetBrains Runtime 17 (JBR 17),这带来了显着的 IDE 性能改进、更好的安全性、由于Metal API而在 macOS 上增强的渲染性能等等。                      

支持 Spring 6 和 Spring Boot 3 功能

IntelliJ IDEA 2022.2 现在完全支持 Spring 6 和 Spring Boot 3 功能,包括新 @AutoConfiguration 类和  @ConfigurationProperties 具有新构造函数绑定语法的类,而无需显式 @ConstructorBinding . 如果您想尝试 Spring 6 或将您的项目切换到这个新版本,请不要忘记更新 IDE。                         

用户体验

524686e394797bb470d7f2e1b0822159.png

运行当前文件

为了在没有专门的运行配置的情况下更轻松地运行和调试单个文件,我们引入了运行/调试小部件中可用的新运行当前文件功能。在它的帮助下,您可以运行和调试当前打开的文件,IDE 将自动使用最适合该文件的运行配置类型。                         

全局更改字体大小的键盘快捷键

有一个新的键盘快捷键可以更改编辑器中各处的字体大小。要增加字体大小,请按⌃⇧Period。要减小它,请按⌃⇧Comma。此外,现在有一个字体大小指示器显示当前字体大小以及将其恢复为默认值的选项。

54f6e16ad5a989a9800153534279b202.png

在 macOS 上合并所有项目 Windows操作

对于 macOS,我们引入了通过将所有打开的项目窗口合并为一个来组织工作空间的功能,将每个窗口变成自己的选项卡。要执行此操作,请转到Window | 合并所有项目窗口。                         

用于突出显示检查的增强配置

您现在可以配置检查在编辑器中的显示方式,而无需更改其严重性级别。当您想要更改检查突出显示样式时,可以使用新的“编辑器中的突出显示”下拉菜单进行更改,该菜单可以方便地显示所有可用选项。                         

cdf74cf055dc183294ab29abd62ce022.png

欢迎屏幕上的克隆存储库进度条

克隆存储库进度条现在出现在 IDE 的欢迎屏幕上,并显示在项目列表中,这使其更清晰、更易于使用。

fe9c57419aca48bfaa258472407023ec.png

助记书签的新描述字段

添加助记符书签”对话框已升级为“描述”字段,因此您现在可以立即向书签添加可选描述。                         

编辑器     

9805bd2ff34897a3ce1102e33cccc6eb.png

禁用自动块注释关闭的新设置

现在可以在按下 时禁用自动块注释关闭Enter。为此,请转到设置/首选项 | 编辑 | Smart Keys  并取消选中Enter部分中的Close block comment复选框。

0e8ef861f2ca185c841882d9b26120cf.png

更快地访问代码完成设置

您现在可以直接从代码完成弹出窗口中的 kebab(三个垂直点)菜单按钮访问代码完成设置并配置您的首选项。         

1f3399b46944745e7604af74c656870f.png

用于调整文件类型关联的新通知面板

当文件错误地与纯文本显式关联时,IntelliJ IDEA 现在会通知您错误的文件类型关联并建议直接从编辑器中重置它,而无需您在Settings / Preferences中手动进行。

2b1cff0d70168af750c2269e543807ce.png

在 Markdown 文件中生成目录的新操作

现在可以根据文档标题轻松地在 Markdown 文件中生成目录。此新操作可从“插入”和“生成”弹出菜单中获得,您可以通过⌘N快捷方式或右键单击来调用该菜单。IDE 将在当前插入符号位置插入目录并用<!-- TOC -->标记将其括起来,以便您以后可以通过调用相同的菜单对其进行更新。                         

Java

改进的检查和代码完成

我们对 Java 检查实施了一系列更改,以帮助您追踪潜在的错误并简化代码。例如,可以使用的标准“字符集”对象 检查已得到改进,因此它现在可以识别.name().toString(). IDE 现在可以在模式变量隐藏字段时向您发出警告,并捕获无意义Objects.requireNonNullElse的调用。许多与 JUnit 相关的 Java 检查已转换为 JVM 检查,因此它们现在也可以在 Kotlin 中使用。此外,代码完成现在建议.class适用的文字。                         

Kotlinf410ae3b4149a52c1205dc9affa3f7c9.png

009bac4115ab503729aa43bf1d35088f.png

支持 Kotlin 调试器中的数据流分析     

我们已将 Kotlin 调试器与数据流分析功能集成,现在它会显示 DFA 提示,显示哪些条件为真以及将执行哪些分支。以前,此集成                            仅适用于 Java,但现在也支持 Kotlin。                       

IntelliJ IDEA 原生构建器使用项目中配置的 Kotlin 编译器版本                     

从 v2022.2 开始,捆绑的 Kotlin 编译器不再与 IntelliJ IDEA 原生构建器一起使用。本地和 CI 构建现在都使用项目设置中声明的 Kotlin 编译器版本运行。此更改消除了以前由于捆绑编译器版本与项目构建文件中定义的版本不匹配而出现的本地构建和 CI 构建之间的不一致。

改进了 Kotlin 的 IDE 性能

我们优化索引的最新工作对 IDE 在代码突出显示、完成和查找用法方面的速度和性能产生了积极影响。                         

Groovy

6072b87c79751f874d3bcabd26930f88.png

安全

导入受信任的 SSL 证书

IntelliJ IDEA 2022.2 现在可以帮助您从系统信任存储中导入受信任的 SSL 证书。它将自动使用特定于您的企业环境的自定义证书。您不需要采取额外的行动,因为一切都应该开箱即用。                         

Profiler

a4a765763999fa3c7774146682b9119f.png

分析时可用的CPU堆内存图表

我们升级了 IntelliJ Profiler,让收集快照变得更加容易。现在,当您开始分析时,CPU堆内存实时图表与控制台并排显示。因此,您可以查看应用程序的执行情况,同时还可以在所需的分析期间从同一应用程序收集许多快照。                       

ab9ef6bb770a92ed899bb97c9f7bb241.png

支持 Kotlin 内联函数

Kotlin 内联函数现在与其他函数一起显示在Flame GraphCall TreeMethod List中,允许您查看它们的 CPU 时间并在需要时对其进行优化。目前,该功能仅适用于Start profiling                            选项,但我们也在努力尽快将其添加到Attach模式。                         

框架和技术  

在 Spring 6 中支持新的声明式 HTTP 客户端

Spring Framework 6 允许您将 HTTP 客户端定义为带有注释方法的 Java 接口。IntelliJ IDEA 2022.2 为此类接口提供 URL 完成、导航以及与 HTTP 客户端的集成。                         

Spring Cloud Gateway 路由的 URL 完成和导航

IntelliJ IDEA Ultimate 现在为 Spring Cloud Gateway URL提供 URL 补全、 Search Everywhere                            功能和Find Usages提示。您可以使用Endpoints工具窗口                        轻松生成 HTTP 请求或查找所有网关路由     

JVM 微服务测试和模拟框架的代码洞察改进

IntelliJ IDEA 2022.2 使用 Spring WebTestClient、RestAssured、WireMock 和 MockServer 等流行的 Java API 自动突出显示测试中的 JSON/XML 主体。因此,这些数据片段具有更好的可读性并且更易于编辑。您还可以使用 URL 完成并导航到测试中这些位置的声明。                         

用于 Java 的实验性 GraalVM 本机调试器

IntelliJ IDEA 2022.2 现在可以帮助您调试 GraalVM 原生映像二进制文件。您可以将调试器附加到任何基于 GraalVM 的可执行文件,或使用附加的调试器启动应用程序。将为 Maven/Gradle 项目自动创建相应的运行配置。此集成是实验性的,需要安装 GraalVM 的开发版本和                            此插件。                  

a204d44da0b28df199251cadd23d9c6f.png

改进了 Protobuf 和 Java 源之间的导航

您现在可以轻松地从.proto文件导航到生成的代码并返回。确保 gRPC 和 Protocol Buffers 插件都已启用。                         

4eaaf0b74ae9823194294f6e6ed5a6ed.png

Spring Shell 的代码洞察改进

 IntelliJ IDEA 2022.2 现在可以识别使用 Spring Shell 库声明的 CLI 命令并检查它们的正确性。                         

改进了对 JAX-RS 端点的支持

IntelliJ IDEA 现在正确支持在 URL 完成、导航和Find Usages@ApplicationPath中声明为和子资源的JAX-RS 通用 Web 服务 URL 模式。            

支持 HTTP 客户端中的 WebSocket 端点

IntelliJ IDEA Ultimate 2022.2 支持 WebSocket 连接,允许您创建请求以及发送和接收消息。                         

36a9ef1a6109743b2926a6600d9595de.png

在 HTTP 客户端中支持 GraphQL 端点

IntelliJ IDEA Ultimate 现在可以开箱即用地通过 HTTP 和 WebSocket 协议发送 GraphQL 查询。对于http://和  https://,使用简单的 HTTP 请求,而ws://wss://被委托给 WebSocket 执行程序。                         

HTTP 客户端的 UI/UX 改进

我们对 HTTP 客户端实施了一些 UI/UX 改进。首先,我们介绍了一种使用装订线中的图标选择运行环境的便捷方法。要启用它,请从Run with组合框中选择Select Environment Before Run选项                            。其次,我们通过添加进度条改进了响应视图,使您可以跟踪下载过程。                         

efc916d9456c722dbaef9fce5fa36fe9.png

JSON、YAML 和 .properties 字符串值中的可点击 URL

JSON、YAML 和 .properties 文件现在具有在以http://https://                            开头的值内自动插入 Web 引用的功能。您可以轻松地在 Web 浏览器中一键打开这些链接,或者您可以从上下文操作菜单 (⌥⏎) 在 HTTP 客户端中生成请求。        

1583d77cac3b9a2bf09d87e248982e5a.png

改进了对 Bean Validation 注释的支持

IntelliJ IDEA 2022.2 现在为 Java 和 Kotlin 的 Bean Validation 注解中的消息属性提供引用并支持折叠。您可以对消息键使用完成或导航到 i18n                             ValidationMessages.properties文件中的声明。                         

4dbfed63fb2178e35dc8c268715850a8.png

改进的 AWS CloudFormation 插件

 我们通过更新元数据模式和改进属性完成对 AWS CloudFormation 插件进行了重新设计。您可以                            从 JetBrains Marketplace                        安装插件的更新版本。

支持 Jakarta Persistence 3.1

IntelliJ IDEA 现在支持                            Jakarta Persistence 3.1中的所有功能,包括新的 JPQL 语法、函数和类型,并为它们提供语言突出显示和代码完成。                         

Docker  

81995c9348258aeb1ad4bbc905fb3102.png

使用 Testcontainers 在测试中完成 Docker 映像

 IntelliJ IDEA 2022.2 为                            Testcontainers                            API 引入了镜像补全,您可以在其中找到所有可用的 Docker 镜像及其版本。单击参考以在您的 Web 浏览器中打开相应的 Docker Hub URL。                         

6d0e74470940a03cd5f3da32b356d0f3.png

将本地 Docker 镜像上传到 Minikube 和其他连接

现在可以使用新的Copy Docker Image操作轻松地将图像从一个 Docker 守护程序复制到另一个,该操作将图像保存到文件中,然后将其推送到所选连接。                         

8015032924b9d04fa03bda5434fb5b38.pngIDE 重启时 Docker 自动连接

IntelliJ IDEA 2022.2 现在会在您重新启动 IDE 后自动连接到 Docker。此新设置默认启用,但可以在设置/首选项 |中关闭。                           高级设置 | 码头工人。  

不同 Docker 守护进程的 Docker 连接选项

从 v2022.2 开始,IntelliJ IDEA 与 Colima 和 Rancher 集成以支持更多选项来建立与 Docker 守护程序的连接。                         

Kubernetes

f0e3697cb8c0da67534e5a05cef5f229.png

Kubernetes 和 Telepresence 集成

 IntelliJ IDEA 2022.2 的 Kubernetes 插件提供与                            Telepresence                            工具的集成,以便拦截来自 Kubernetes 集群中服务的 HTTP 请求,并将它们路由到本地运行的服务。这使您可以更轻松地调试这些服务并仅在本地运行所需的服务子集。                         

7d095cb6a8a80d9ba40c61c35867ad7b.png

改进了页面对象编辑器中的网页结构

网页结构UI得到了显着改进。由于文本格式突出显示,现在您可以轻松阅读最重要的部分,例如标签名称、ID 和应用的 CSS 类。                              

5571d9fb404ced9bf47b79e8a86f4b83.png通过排水沟图标轻松导航

现在,您只需单击装订线中的图标即可轻松导航回页面元素。        

a9d1ed526b6ee650d4a5e7a9c022a4a4.png

来自 URL 的页面对象命名

创建新页面对象文件时,向导现在提供了一个可选的 URL 字段。如果包含 Web 地址,向导会根据链接地址建议页面对象文件名。此外,页面对象编辑器打开时会自动加载插入的 URL。                         

9fe9d385801885d9ba1e7cbc1970c61e.png

自动插入符号移动到代码块的末尾

在您的代码中添加新的页面元素时,插入符号现在会自动移动到添加的代码块的末尾,因此您可以轻松地导航它并继续编辑。                         

35949236341b55adda071c2ffb5724ff.png

从上下文菜单创建一个新的页面对象                           

每当您在处理现有页面对象类时键入新的未引用页面对象类时,您只需导航到警告的上下文菜单并创建新页面对象即可修复未解析的代码警告。                         

ec84426b085968d491d61e55b7915012.png

导入多个 CSV 文件的选项

对于 v2022.2,我们通过实现选择多个 CSV 文件并一次导入它们的功能来增强文件导入过程。                         

92a722486aaef6a2b04649054298e20e.png

修改对话框的新 UI

“修改”对话框的新 UI已成为默认选项。从版本 2022.2 开始,可以使用此新 UI 添加和编辑表格的所有子对象。旧 UI 将通过上下文菜单保持可用。

c45e6fdeea5f156a024735f7fc5d0f69.png

游乐场脚本解析模式

为了确保 SQL 脚本中的数据库对象得到更精确的解析,我们实现了两种解析模式:PlaygroundScript。如果您的文件只是一组彼此独立且没有特定顺序的未连接查询,则第一个是更好的选择。当您的查询具有顺序逻辑并且应该作为单个脚本运行时,第二个更好。

Web开发

ae15c06d57ac5dfe3bd14f15b6fa0b85.png

支持 Angular 独立组件

我们一直在积极致力于 IntelliJ IDEA 2022.2 中对 Angular 14 的支持。我们在此版本中所做的最重要的补充是对 Angular 独立组件的支持。IntelliJ IDEA 现在可以正确识别标记为standalone: true.                         

7696010112acb3d72e61e8db1022ca7b.png

改进了对 Vue 3 的支持

 IntelliJ IDEA 2022.2 为 Vue 3 提供了更好的支持。例如,它现在可以理解v-if/else指令中的类型缩小。此外,对 Pania(Vue 团队推荐的作为全局存储的状态管理解决方案)的支持也得到了改进。现在,完成和解析都可以在 Vue 中与 Pinia 库一起使用,并且您可以导航到商店中定义的状态属性和操作。                     

1decb8bfca0e2e2acf88543bb12861ca.png

TypeScript 4.7 支持

IntelliJ IDEA 2022.2 与 TypeScript 4.7 捆绑在一起,支持Node.js 中的moduleSuffixes和 ESM等新语言功能。如果模块在tsconfig.json文件中设置为 node16 或 nodeext,它将自动将.js扩展名插入到 import 语句中。此外,IDE 支持package.json文件中的typesVersions字段。

Scala

4780cdc557d302b74744aaed9cf33d38.png

更好的 Scala 3 支持

从 v2022.2 开始,IntelliJ IDEA 可以从.tasty文件中读取匹配类型,正确解析它们,解析类型变量,将它们用作类型参数,支持检查,并将类型显示为文本。最重要的是,我们添加了对                            无选项提取器、                            类型 lambdas和                            多态函数类型、                            类型级编译器内在函数的支持,并作为通配符与                                                                                                                                                                                                                                                ?_在 Scala 2.13.9 和 2.12.16 中。复制粘贴的代码现在也可以正确缩进。       

555b4bf10cad76a52f58d4c98e1b6448.png

新的 Scala 检查

IntelliJ IDEA 2022.2 现在会在return匿名函数中使用关键字时向您发出警告,以跳出函数而不执行其中的所有代码。这通常不是预期的用途,并且可能导致泄漏的实现和隐藏的性能成本。当私有或                            触发一个新的警告参数隐藏超类变量。此外,当您尝试以编译器禁止的方式覆盖变量时,会显示错误。这些新警告可以配置为在它们各自的编译器选项 (-Xlint:nonlocal-return和                            -Xlint:private-shadow) 存在时显示。                  

7fbc8697f964214e43e1067a57d44dc3.png 将逗号分隔的元素列表拆分为单独的行

如果您的代码行太长,因为它包含集合中的参数或元素列表,您现在可以使用弹出菜单中的                            将参数放在单独的行上操作来快速将列表拆分为多行。相反的情况也是可能的——如果您认为多行列表足够短,您可以使用将参数放在一行操作使它们成为一行。                         

4fc19708c01842ba53b721f953683aa3.png

Scala 的基于编译器的高亮显示

基于编译器的突出显示已针对更好的资源使用进行了调整。IDE 现在尊重用户定义的文件突出显示设置。现在在更少的情况下触发编译并使用更少的后台线程。编译范围已缩小到相关模块和源代码范围。                         

outside_default.png

安全删除现在可用于类型参数

安全删除操作从定义及其所有调用中删除一个元素。此操作现在也适用于类型参数。                         

f2e42971db2954db38834f46c00b0448.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值