IntelliJ IDEA 2023.2 引入 AI Assistant,通过一组由 AI 提供支持的功能助力开发。 升级的 IntelliJ 分析器现在提供编辑器内提示,使分析进程更加直观详尽。 此版本还包括有助于简化开发工作流的 GitLab 集成,以及其他多项值得关注的更新和改进,如下所述。
在此版本中,我们为 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 的更多信息以及访问说明,请查阅这篇博文。
在 IntelliJ IDEA 2023.2 中,我们增强了 IntelliJ 分析器,为应用程序性能提供更有价值且易于理解的洞察。 新的编辑器内提示可供快速逐行分析代码性能,帮助您更快识别和解决问题。 编辑器装订区域中的颜色编码注解可以高亮显示关键方法,让您专注于性能瓶颈。 因此,您不再需要使用 Flame Graph(火焰图)和 Call Tree(调用树)视图执行彻底、耗时的分析。 在这篇博文中了解详情。
IntelliJ IDEA 2023.2 引入了与 GitLab 的集成,帮助简化您的开发工作流。 现在,您可以直接在 IDE 中使用 Merge Requests(合并请求)功能:查看请求列表、检查更改、留下评论,以及导航到相关视图。 了解详情。
Search Everywhere(随处搜索)(按两次 Shift)主要用于搜索文件、类、方法、操作和设置。 在此更新后,它将包含类似于 Find in Files(在文件中查找)的文本搜索功能。 现在,当给定查询的其他搜索结果很少或没有时,将显示文本搜索结果。 此功能默认启用,可以在 Settings/Preferences | Advanced Settings | Search Everywhere(设置/偏好设置 | 高级设置 | 随处搜索)中管理。
IntelliJ IDEA 2023.2 引入了彩色标题,可以简化多个打开的项目之间的导航。 现在,您可以为每个项目分配唯一的颜色和图标,使其在工作区中更易区分。 标题现在默认带有预定义的颜色,但您也可以自定义。 要为项目设置新的颜色,首先右键点击标题,然后访问上下文菜单。 然后,选择 Change Project Color(更改项目颜色)选项,并从建议的列表中选择所需颜色,或者浏览调色盘。 如果您想禁用此功能,只需在上下文菜单中取消选择 Show Project Gradient(显示项目渐变)选项。
我们改进了 Windows 和 Linux 上新 UI 中主工具栏汉堡包菜单的行为。 点击菜单图标后,元素现在水平显示在工具栏上方。 此外,现在还有一个选项可以将此菜单转换为单独的工具栏,此选项的路径为 View | Appearance | Main menu as a Separate Toolbar(视图 | 外观 | 主菜单作为单独的工具栏)。
IntelliJ IDEA 2023.2 添加了备受期待的功能,让您可以根据修改时间在 Project(项目)视图中排列文件。 每当项目中有更改被保存时,这个新功能就会自动重排文件。 要启用此功能,首先打开 Project(项目)视图中的竖三点菜单,然后选择 Tree Appearance | Sort by Modification Time(树外观 | 按修改时间排序)。
在 v2023.2 中,我们通过引入替代的 Light with Light Header(带有浅色标题的浅色主题)选项提升了浅色主题的用户体验,该选项可为窗口标题、工具提示和通知气球提供匹配的浅色。
在 macOS 上以全屏模式使用新 UI 时,窗口控件现在将在主工具栏上显示,而不是像以前一样在浮动栏上显示。
为了方便 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(添加到主工具栏),然后浏览可用选项。
为了让您可以更轻松地为特定项目配置 IDE 以及通过插件扩展其功能,我们更新了 Settings/Preferences | Plugins(设置/偏好设置 | 插件)部分的 UI。 它现在包含一组推荐插件,根据您的项目具体情况自动定义,并在列表顶部显示。
我们重做了 Services(服务)工具窗口中运行和调试操作的 UI,使工具栏外观与主 Run/Debug(运行/调试)微件一致。
为了简化多个运行配置的管理,我们在 Run(运行)微件中实现了固定首选配置的选项。 要将运行配置添加到 Pinned(固定)部分,首先打开其名称旁边的竖三点菜单,然后选择 Pin(固定)。 如果有多个固定的配置,在列表中拖放即可轻松排列。
我们改进并扩展了 Java 检查,帮助您维护优质代码并更有效地检测潜在问题。 当模式引用与实参不匹配时,新的 Incorrect ‘MessageFormat’ pattern('MessageFormat' 模式不正确)检查会发出警告,并且它还会检测 MessageFormat
模式中引号和大括号的错误用法。 此外,IDE 现在将报告带有显式 ChronoField
或 ChronoUnit
实参的调用,并建议将其替换为更具体的方法的调用,从而简化代码。 在这篇博文中详细了解 IntelliJ IDEA 2023.2 中的新检查和其他代码分析改进。
现在,将文本光标置于格式说明符上后,IDE 将高亮显示相应实参和指向它的其他说明符。 此外,您现在可以使用 Go To Declaration(转到声明)(Ctrl+B) 跳转到特定格式字符串占位符的关联代码位置。
@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 现在可以准确猜测报告中方法的位置,即使行号不可用或已偏离。
IntelliJ IDEA 现在可以更好地分析 Java 和 Kotlin 中 SQL 的串联和内插,检测潜在的不安全查询,使代码避免可能的 SQL 注入漏洞。
IntelliJ IDEA 2023.2 增强了 Scala 3 支持,专注于简化开发体验。 值得注意的改进包括对 Scala 3 枚举高亮显示的修正、枚举定义导航,以及多种上下文中枚举 case 的正确解析。 TASTy 反编译器得到显著增强,确保对 Akka、Cats、Play、ZIO 等流行 Scala 库进行准确的反编译。 此外,调试器中的 scala-expression-compiler
集成也将为 Scala 开发者提供更好的调试体验。 其他改进包括 Scala 3 通用应用方法的增强补全提示、对 IArray 的编辑器内支持,以及对“更少大括号”语法的改进支持。
此版本对 IntelliJ IDEA 的 sbt 支持进行了许多改进。 重新打开项目后,为 sbt 设置的环境变量将被保留并正确处理。 重新设计的设置页面 File | Settings | Build, Execution, Deployment | Build Tools | sbt(文件 | 设置 | 构建、执行、部署 | 构建工具 | sbt)更为易用,并新增了 Environment variables(环境变量)字段,因此,您可以将自定义环境变量传递到 sbt-shell 进程。
在这个版本中,ScalaDoc 的快速文档与 Javadoc 的更加一致。 现在,显示的声明中的注解、关键字和字面量将根据所选主题高亮显示。 如果超出可用空间,扩展的特征和类的列表将分成多行。 此外,文档中现在也支持 Scala 3 关键字。
新版本对某些复杂或罕见情况下的无效类型推断进行了许多修正,例如类型具有复杂边界、sealed 特征层次结构可能不清晰或在复杂模式匹配中的情况。
鉴于 Zinc 最近的性能改进,我们在 v2023.2 中将其设为默认增量编译器。 这确保了对 Scala 3 新功能(包括 inline
方法)的增量编译的全面支持。
目标文件夹的子文件夹不再自动包含为源,除非它们被标记为托管。 这将加快在生成源代码的项目中进行搜索的速度。 此外,IDE 还为 sbt-projectmatrix
提供了更好的支持。
在 IntelliJ IDEA 2023.2 中,您可以直接从 Run(运行)工具窗口轻松访问 IntelliJ 分析器的功能。 使用新按钮,点击一下即可调用 Attach IntelliJ Profiler(附加 IntelliJ 分析器)和 Capture Memory Snapshot(捕获内存快照)操作,无需打开 Profiler(分析器)工具窗口或从头启动应用程序。
我们将挂钟分析模式设为默认选项,增强了 IntelliJ IDEA 2023.2 中的分析体验。 此分析方法会考虑在方法中花费的总时间,包括等待时间。 它以毫秒为测量单位,是更强大、更直观的选项。
Mono
和 Flux
值求算 调试反应式应用程序时,您现在可以轻松求算 Mono
和 Flux
类型的监视和局部变量的值。 IDE 现在会在调试会话期间进行检测,并在 Variables(变量)视图中提供相应的 get
或 collectList
链接,点击即可立即计算 Reactive Streams 条目。 默认情况下,调试器会获取 Flux
的前 100 个条目。 您可以在 File | Settings | Languages & Frameworks | Reactive Streams(文件 | 设置 | 语言和框架 | Reactive Streams)中配置此数量。
我们扩展了自动测试功能,使其与 Maven、Gradle 和 JPS 构建系统完全兼容。 我们还使持续测试模式更易激活。 要启用该模式,请使用 Run/Debug(运行/调试)工具窗口中新增的 Rerun Automatically(自动重新运行)按钮。 每当更改保存时,测试都会自动运行,对代码更新提供即时反馈。
IntelliJ IDEA 提供了对直接在 return 语句处设置断点的改进支持,类似于已在 lambda 表达式中实现的设置方式。 这一改进将为开发者提供更高的调试精度和更深入的代码分析,带来更有价值的代码行为和返回值洞察。 要设置内联断点,只需右键点击语句旁边的装订区域并选择 return 选项即可。
IntelliJ IDEA 2023.2 引入了一项备受期待的功能,可供有选择地提交代码区块的特定部分。 要执行部分提交,请选择区块中的行,然后从上下文菜单中调用 Include these lines into commit(将所选行包含到提交中)。 区块将被分为单独的行,所选行将被高亮显示。 您可以使用复选框或上下文菜单在选区中添加或排除行。
IntelliJ IDEA 2023.2 提供了新的命令行工具,用于快速构建和上传共享索引。 它旨在简化团队合作并消除本地索引大型项目花费的时间。 新工具将简化为团队生成共享索引的过程,只需几下点击,无需多个脚本和服务。 了解详情。
从 IntelliJ IDEA 2023.2 开始,您可以在适用于 Linux 的 Windows 子系统 (WSL) 上运行和调试部署到 Tomcat 的应用程序。 要在 WSL 上使用基于 Tomcat 的应用程序,您需要在 /etc/environment
或 ~/.bashrc
文件中声明 JAVA_HOME
环境变量。
您现在可以在 HTTP 客户端中通过传输层安全 (TLS) 发送 gRPC 请求。 TLS 提供加密和身份验证,确保数据传输的保密性和完整性。 请求语法支持 https://
和 grpcs://
架构。
设置 Swagger Codegen 配置时,IDE 现在将提供更好的用户体验。 我们重做了 Edit Swagger Codegen Configuration(编辑 Swagger Codegen 配置)对话框,让您可以更轻松地根据需求定制运行配置。 另外,您现在还可以直接从装订区域访问 Swagger Codegen 运行配置,无需指定额外设置。
HTTP 客户端现在能够理解 Swagger 和 OpenAPI 规范,并为 JSON 请求正文提供相应的代码补全选项。
IntelliJ IDEA now supports Redoc UI previews for OpenAPI and Swagger specification files, including YAML and JSON files, allowing you to switch between the Redoc and Swagger UIs within the IDE. 通过 Redocly 集成,您可以从 IntelliJ IDEA 中访问 Try it 控制台,使用它设置参数并向 API 发送请求。
IDE 现在为 JavaScript 代码中的 JSON 对象键提供补全,例如使用 fetch()
调用或引用 Axios 库的代码。 Spring MVC 服务器端点现已得到支持,未来将有更多服务器框架加入支持列表。
在 IntelliJ IDEA 2023.2 中,现在可以通过导入的模块共享 HTTP 客户端请求处理程序的通用 JavaScript 代码。
IntelliJ IDEA 现在能够在 HTTP 客户端的请求结果中显示 PDF 和 HTML 文件的预览。
您现在可以在 IntelliJ IDEA 中使用 HTTP 客户端 CLI 与 GraphQL API 交互,并与服务建立 WebSocket 连接,用于测试或自动化脚本。
设置新的 Spring Boot 运行配置时,VM options(虚拟机选项)字段为 -D
标志后面出现的键提供自动补全选项。
我们简化了在 IntelliJ IDEA 中使用 Spring 的自定义配置 Bean 时的用户体验。 IDE 现在会在属性和 YAML 配置文件中提供代码补全和验证,无需设置 Spring Boot 配置注解处理器。
我们扩展了 IntelliJ IDEA 对在 Spring 应用程序中使用 AspectJ 的支持。 IDE 现在可为 Kotlin 代码提供分析和补全,此前已经为 Java 代码提供。
In IntelliJ IDEA 2023.2, we’ve introduced a new inspection to eliminate the so-called “Norway problem” and prevent the unintended misinterpretation of Boolean values in YAML files. 当列表主要由字符串组成但包含布尔式字面量时,IntelliJ IDEA 将高亮显示此字面量,指示潜在的不一致,并建议为其添加引号。 如果列表主要由布尔式字面量(例如 true
、false
、off
、on
、yes
或 no
)组成,则偏离此模式的任何字面量都将被高亮显示为可能的错误,不过,在这种情况下不会建议具体的快速修复。
现在,在 IntelliJ IDEA 中使用 AsyncAPI 规范格式更加简单。 IDE 支持架构验证功能,并为引用、Endpoints(端点)视图和 Editor Preview(编辑器预览)窗格提供了代码补全。
现在可以在 Services(服务)工具窗口中轻松访问和预览 Docker 镜像层的内容。 从列表选择镜像,选择 Show layers(显示层),然后点击 Analyze image for more information(分析镜像以获得更多信息)。 这将打开层中存储的文件列表,您可以右键点击文件,然后点击 Open File(打开文件)(对于二进制文件,则为 Download File(下载文件)),在编辑器中轻松打开所选文件。
现在,可以将 Docker 运行配置指定为 Before Launch(启动前)任务,从而在另一个配置之前运行。 IDE 将等待当前运行的容器恢复正常,然后再启动下一个运行配置。 要将 Docker 运行配置放入队列中,首先创建配置,然后通过 Modify options | Add before launch task | Run configuration(修改选项 | 添加启动前任务 | 运行配置)将其添加到相关容器中。
这项新引入的功能允许您在单个项目中设置多个 kubeconfig 文件。 这简化了处理多个集群或在同一项目中的不同集群上使用环境的体验。 转到 File | Settings | Build, Execution, Deployment | Kubernetes(文件 | 设置 | 构建、执行、部署 | Kubernetes)即可设置文件。
现在,您可以在 Services(服务)工具窗口中查看 Kubernetes 集群中的部署日志。 右键点击树中的 Deployment(部署),然后从上下文菜单中选择 Follow Log(关注日志)或 Download Log(下载日志)。
我们在 IntelliJ IDEA 2023.2 中关注如何改进呈现 JavaScript 和 TypeScript 中类型错误的方式。 现在,您的错误和警告将以可读性更高的方式格式化,使代码中的问题更易发现。 这适用于所有 TypeScript 和一些最常见的 JavaScript 错误,甚至包括本地化后的错误。
IntelliJ IDEA 2023.2 supports CSS nesting. 我们实现了语法支持和检查,新检查会在嵌套选择器以标识符或函数符号开头时发出提醒。
Vue 语言服务器(VLS,又称 Volar)支持可在快速导航和文档弹出窗口中提供更准确的错误检测和更好的类型信息。 VLS 默认将用于 TypeScript v5.0 及更高版本,TypeScript 服务的包装器将用于更低版本的 TypeScript。 在 Settings | Languages & Frameworks | TypeScript | Vue(设置 | 语言和框架 | TypeScript | Vue)下,您可以将 Vue 服务设置为在所有 TypeScript 版本上使用 VLS 集成。
我们在 Settings | Editor | Live Templates | React hooks(设置 | 编辑器 | 实时模板 | React 挂钩)下为 React 挂钩添加了一组新的实时模板。 要使用实时模板,首先在编辑器中输入缩写,然后按 Tab 将其展开。
通过完全集成我们旨在适应任何 CI/CD 管道的智能静态分析引擎 JetBrains Qodana,IntelliJ IDEA 2023.2 简化了静态分析工具的配置。 这一集成具备两大重要优势。 首先,简单的配置让您只需点击几下即可触发分析、查看项目级问题,以及在首选 CI/CD 系统中设置质量门。 其次,您现在无需离开 IDE 即可直接查看服务器端分析结果。 在这篇博文中详细了解 Qodana 及其最新版本。
您现在可以连接到 Redis Cluster 并拥有与独立 Redis 相同的功能集。 连接到集群时,必须在所需 URL 之前输入 jdbc:redis:cluster:
。 为此,您需要选择适当的连接类型。 如果连接到集群需要 SSH 隧道,应在 URL 中指明集群中所有节点的主机和端口。
在 v2023.2 中,我们重做了架构迁移功能。 主要区别在于,同一个对象现在位于对话框两个部分的同一行上,从而更清晰地显示将在目标架构中添加、移除或更改的对象。
Data Editor and Viewer(数据编辑器和查看器)设置页面新增了 Time zone(时区)字段,用于设置显示 datetime
值的时区。
现在,共享数据库及其内容均会内省。 创建这些数据库的数据共享也会内省。
IntelliJ IDEA is now fully compatible with Maven 4.0.0-alpha, the latest version of Maven.