IntelliJ IDEA 2023.2 最新变化(上)

简介: IntelliJ IDEA 2023.2 最新变化

IntelliJ IDEA 2023.2 引入 AI Assistant,通过一组由 AI 提供支持的功能助力开发。 升级的 IntelliJ 分析器现在提供编辑器内提示,使分析进程更加直观详尽。 此版本还包括有助于简化开发工作流的 GitLab 集成,以及其他多项值得关注的更新和改进,如下所述:

主要更新

AI Assistant

限定访问 Ultimate 在此版本中,我们为 IntelliJ IDEA 引入了一项重要补充 – AI Assistant。 AI Assistant 当前具备一组由 AI 提供支持的初始功能,提供集成式 AI 聊天,可以完成一些任务,例如自动编写文档注释、建议名称、生成提交消息等。 JetBrains AI 服务为 AI Assistant 提供技术支持,此服务目前可以连接到 OpenAI,后续还将包含其他语言模型提供商。 要访问 Assistant 的 AI 功能,您需要安装 AI Assistant 插件并使用 JetBrains Account 登录 JetBrains AI 服务。 JetBrains AI 服务的初始可用性可能受限。 有关 AI Assistant 的更多信息以及访问说明,请查阅这篇博文

编辑器内性能提示

Ultimate 在 IntelliJ IDEA 2023.2 中,我们增强了 IntelliJ 分析器,为应用程序性能提供更有价值且易于理解的洞察。 新的编辑器内提示可供快速逐行分析代码性能,帮助您更快识别和解决问题。 编辑器装订区域中的颜色编码注解可以高亮显示关键方法,让您专注于性能瓶颈。 因此,您不再需要使用 _Flame Graph_(火焰图)和 _Call Tree_(调用树)视图执行彻底、耗时的分析。 在这篇博文中了解详情。

GitLab 集成

IntelliJ IDEA 2023.2 引入了与 GitLab 的集成,帮助简化您的开发工作流。 现在,您可以直接在 IDE 中使用 _Merge Requests_(合并请求)功能:查看请求列表、检查更改、留下评论,以及导航到相关视图。 了解详情

用户体验

Search Everywhere_(随处搜索)中的文本搜索

Search Everywhere_(随处搜索)(按两次 Shift)主要用于搜索文件、类、方法、操作和设置。 在此更新后,它将包含类似于 _Find in Files_(在文件中查找)的文本搜索功能。 现在,当给定查询的其他搜索结果很少或没有时,将显示文本搜索结果。 此功能默认启用,可以在 _Settings/Preferences | Advanced Settings | Search Everywhere_(设置/偏好设置 | 高级设置 | 随处搜索)中管理。

新 UI 中的彩色项目标题

IntelliJ IDEA 2023.2 引入了彩色标题,可以简化多个打开的项目之间的导航。 现在,您可以为每个项目分配唯一的颜色和图标,使其在工作区中更易区分。 标题现在默认带有预定义的颜色,但您也可以自定义。 要为项目设置新的颜色,首先右键点击标题,然后访问上下文菜单。 然后,选择 _Change Project Color_(更改项目颜色)选项,并从建议的列表中选择所需颜色,或者浏览调色盘。 如果您想禁用此功能,只需在上下文菜单中取消选择 _Show Project Gradient_(显示项目渐变)选项。

在 Windows 和 Linux 上的主工具栏中重做了汉堡包菜单

我们改进了 Windows 和 Linux 上新 UI 中主工具栏汉堡包菜单的行为。 点击菜单图标后,元素现在水平显示在工具栏上方。 此外,现在还有一个选项可以将此菜单转换为单独的工具栏,此选项的路径为 _View | Appearance | Main menu as a Separate Toolbar_(视图 | 外观 | 主菜单作为单独的工具栏)。

在 _Project_(项目)视图中按修改时间对文件进行排序

IntelliJ IDEA 2023.2 添加了备受期待的功能,让您可以根据修改时间在 _Project_(项目)视图中排列文件。 每当项目中有更改被保存时,这个新功能就会自动重排文件。 要启用此功能,首先打开 _Project_(项目)视图中的竖三点菜单,然后选择 _Tree Appearance | Sort by Modification Time_(树外观 | 按修改时间排序)。

新 UI 中带有浅色标题的浅色主题

在 v2023.2 中,我们通过引入替代的 _Light with Light Header_(带有浅色标题的浅色主题)选项提升了_浅色_主题的用户体验,该选项可为窗口标题、工具提示和通知气球提供匹配的浅色。

更新了 macOS 上的窗口控件

在 macOS 上以全屏模式使用新 UI 时,窗口控件现在将在主工具栏上显示,而不是像以前一样在浮动栏上显示。

在新 UI 中移除了 Linux 上的标题栏

为了方便 Linux 用户,新 UI 中移除了操作系统的原生标题,使界面更加整洁。 默认将显示 IDE 的自定义标题,该标题提供了一系列工作区自定义选项。 如果您希望将标题还原为之前的外观,请取消选择 Settings | Appearance & Behavior | Appearance | UI Options_(设置 | 外观与行为 | 外观 | UI 选项)中的 _Merge main menu with window title (将主菜单与窗口标题合并)选项。

检查描述中的语法高亮显示

在 _Settings / Preferences | Editor | Inspections_(设置/偏好设置 | 编辑器 | 检查)中,代码示例现在将包含语法高亮显示,让您可以更容易理解是什么触发了检查并决定使其处于活跃状态还是停用状态。

在项目目录之间单击导航

在 _Project_(项目)视图中,新增了 _Open Directories with Single Click_(单击打开目录)选项,可以更快展开和收起项目文件夹,更快响应。 点击竖三点菜单后,可以从下拉菜单中选择该选项。

改进了主工具栏自定义

我们扩展了新 UI 主工具栏的自定义选项。 现在,您可以使用下拉菜单快速选择要添加到工具栏的操作。 右键点击任意微件,选择 _Add to Main Toolbar_(添加到主工具栏),然后浏览可用选项。

Settings/Preferences_(设置/偏好设置)中的推荐插件

为了让您可以更轻松地为特定项目配置 IDE 以及通过插件扩展其功能,我们更新了 _Settings/Preferences | Plugins_(设置/偏好设置 | 插件)部分的 UI。 它现在包含一组推荐插件,根据您的项目具体情况自动定义,并在列表顶部显示。

更新了Services(服务)工具窗口中 _Run/Debug_(运行/调试)

微件的 UI 我们重做了 _Services_(服务)工具窗口中运行和调试操作的 UI,使工具栏外观与主 _Run/Debug_(运行/调试)微件一致。

在 _Run_(运行)微件中固定运行配置

为了简化多个运行配置的管理,我们在 _Run_(运行)微件中实现了固定首选配置的选项。 要将运行配置添加到 _Pinned_(固定)部分,首先打开其名称旁边的竖三点菜单,然后选择 _Pin_(固定)。 如果有多个固定的配置,在列表中拖放即可轻松排列。 #Java

新检查和其他代码分析改进

我们改进并扩展了 Java 检查,帮助您维护优质代码并更有效地检测潜在问题。 当模式引用与实参不匹配时,新的 _Incorrect ‘MessageFormat’ pattern_('MessageFormat' 模式不正确)检查会发出警告,并且它还会检测 MessageFormat 模式中引号和大括号的错误用法。 此外,IDE 现在将报告带有显式 ChronoFieldChronoUnit 实参的调用,并建议将其替换为更具体的方法的调用,从而简化代码。 在这篇博文中详细了解 IntelliJ IDEA 2023.2 中的新检查和其他代码分析改进。

格式字符串的代码高亮显示和导航

现在,将文本光标置于格式说明符上后,IDE 将高亮显示相应实参和指向它的其他说明符。 此外,您现在可以使用 _Go To Declaration_(转到声明)(Ctrl+B) 跳转到特定格式字符串占位符的关联代码位置。

改进了对 Javadoc 注释中 @snippet 标记的支持

IntelliJ IDEA 改进了 Javadoc 注释中的 @snippet 标记功能。 它允许在 @snippet 标记内添加标记注释,并在文档中正确呈现。 代码区域已得到支持,您可以指定要在 Javadoc 注释中引用的代码部分。 此外,IDE 现在还支持在 @snippet 标记内包含外部代码段,这将允许您引用存储在单独文件或源中的代码段,并将其包含在 Javadoc 文档中。

扩展了多个选定成员的重构选项

我们添加了新方式,可供同时将特定重构应用于多个成员。 现在,您可以在 _Project_(项目)或 _Structure_(结构)工具窗口中直接选择多个成员,同时对其调用 _Extract Delegate_(提取委托)、_Extract Interface_(提取接口)、_Extract Superclass_(提取超类)、_Pull Members Up_(向上拉取成员)和 _Push Members Down_(向下推送成员)。 此外,IntelliJ IDEA 现在支持以多文本光标选择进行扩展范围的重构,包括 _Encapsulate Fields_(封装字段)、_Move Static Members_(移动 static 成员)、_Extract Delegate_(提取委托)、_Extract Interface_(提取接口)和 _Extract Superclass_(提取超类)。 要利用此功能,请将文本光标放置在您希望应用重构的各成员中,IDE 将自动在重构对话框中预选并检查这些成员。

改进了堆栈跟踪分析的导航

为了改进堆栈跟踪分析并更快地解决 bug,IntelliJ IDEA 现在可以准确猜测报告中方法的位置,即使行号不可用或已偏离。

增强了动态 SQL 查询的污点分析

Ultimate IntelliJ IDEA 现在可以更好地分析 Java 和 Kotlin 中 SQL 的串联和内插,检测潜在的不安全查询,使代码避免可能的 SQL 注入漏洞。

Scala

更出色的 Scala 3 支持

IntelliJ IDEA 2023.2 增强了 Scala 3 支持,专注于简化开发体验。 值得注意的改进包括对 Scala 3 枚举高亮显示的修正、枚举定义导航,以及多种上下文中枚举 case 的正确解析。 TASTy 反编译器得到显著增强,确保对 Akka、Cats、Play、ZIO 等流行 Scala 库进行准确的反编译。 此外,调试器中的 scala-expression-compiler 集成也将为 Scala 开发者提供更好的调试体验。 其他改进包括 Scala 3 通用应用方法的增强补全提示、对 IArray 的编辑器内支持,以及对“更少大括号”语法的改进支持。

更好的 sbt 支持

此版本对 IntelliJ IDEA 的 sbt 支持进行了许多改进。 重新打开项目后,为 sbt 设置的环境变量将被保留并正确处理。 重新设计的设置页面 _File | Settings | Build, Execution, Deployment | Build Tools | sbt_(文件 | 设置 | 构建、执行、部署 | 构建工具 | sbt)更为易用,并新增了 _Environment variables_(环境变量)字段,因此,您可以将自定义环境变量传递到 sbt-shell 进程。

ScalaDoc 呈现

在这个版本中,ScalaDoc 的快速文档与 Javadoc 的更加一致。 现在,显示的声明中的注解、关键字和文字将根据所选主题高亮显示。 如果超出可用空间,扩展的特征和类的列表将分成多行。 此外,文档中现在也支持 Scala 3 关键字。

修正了类型推断错误

新版本对某些复杂或罕见情况下的无效类型推断进行了许多修正,例如类型具有复杂边界、sealed 特征层次结构可能不清晰或在复杂模式匹配中的情况。

Zinc 作为默认编译器

鉴于 Zinc 最近的性能改进,我们在 v2023.2 中将其设为默认增量编译器。 这确保了对 Scala 3 新功能(包括 inline 方法)的增量编译的全面支持。

改进了源目录和目标目录的管理

目标文件夹的子文件夹不再自动包含为源,除非它们被标记为托管。 这将加快在生成源代码的项目中进行搜索的速度。 此外,IDE 还为 sbt-projectmatrix 提供了更好的支持。

相关文章
|
1月前
|
Java 开发工具 Maven
IntelliJ IDEA安装教程(超详细)
IntelliJ IDEA安装教程(超详细)
103 1
|
29天前
|
Java Maven Spring
【操作宝典】IntelliJ IDEA新建maven项目详细教程
【操作宝典】IntelliJ IDEA新建maven项目详细教程
38 1
|
1月前
IntelliJ IDEA常用设置
IntelliJ IDEA常用设置
16 0
|
2天前
|
安全 Java 数据库连接
在IntelliJ IDEA中通过Spring Boot集成达梦数据库:从入门到精通
在IntelliJ IDEA中通过Spring Boot集成达梦数据库:从入门到精通
|
2天前
|
存储 IDE Java
IntelliJ IDEA 安装及配置详细教程
IntelliJ IDEA 安装及配置详细教程
15 0
|
10天前
Mac上IntelliJ IDEA设置类注释和方法注释带作者和日期
Mac上IntelliJ IDEA设置类注释和方法注释带作者和日期
|
10天前
|
XML SQL Java
IntelliJ IDEA 插件 MybatisX 在mapper和xml间跳转
IntelliJ IDEA 插件 MybatisX 在mapper和xml间跳转
|
10天前
|
Java
Intellij IDEA运行报Command line is too long的解决办法
Intellij IDEA运行报Command line is too long的解决办法
|
11天前
|
网络协议 安全 关系型数据库
IntelliJ IDEA如何使用固定地址公网远程访问本地Mysql数据库
IntelliJ IDEA如何使用固定地址公网远程访问本地Mysql数据库
21 1
|
15天前
IntelliJ IDEA 下载
IntelliJ IDEA 下载
20 1