IntelliJ IDEA 2023.2正式发布!
点击下方“JavaEdge”,选择“设为星标”
免责声明~
任何文章不要过度深思!
万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案」;
不要急着评判文章列出的观点,只需代入其中,适度审视一番自己即可,能「跳脱出来从外人的角度看看现在的自己处在什么样的阶段」才不为俗人。
怎么想、怎么做,全在乎自己「不断实践中寻找适合自己的大道」
IntelliJ IDEA 2023.2 引入 AI Assistant,通过一组由 AI 提供支持的功能助力开发。升级的 IntelliJ 分析器现在提供编辑器内提示,使分析进程更加直观详尽。此版本还包括有助简化开发工作流的 GitLab 集成及其他多项值得关注的更新和改进。
1 主要更新
![](https://filescdn.proginn.com/a6598eb7637e6f456e3c9f7c7cef5e95/8da4e1bf62b1091578fc33dcb5a1e0bd.webp)
1.1 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 服务的初始可用性可能受限。这篇博文。
![](https://filescdn.proginn.com/9a1ab84c9a772f3d011ac9a29d80f519/e2e2d4d146d3c4cbe13f67fa46b9550e.webp)
1.2 编辑器内性能提示 Ultimate
2023.2增强了 IntelliJ 分析器,为应用程序性能提供更有价值且易于理解的洞察。新的编辑器内提示可供快速逐行分析代码性能,帮助更快识别和解决问题。编辑器装订区域中的颜色编码注解可以高亮显示关键方法,专注性能瓶颈。因此,不再需要使用 Flame Graph(火焰图)和 Call Tree(调用树)视图执行彻底、耗时的分析。博文详情。
1.3 GitLab 集成
IntelliJ IDEA 2023.2 引入了与 GitLab 的集成,帮助简化开发工作流。可直接在 IDE 中使用 Merge Request(合并请求)功能:查看请求列表、检查更改、留下评论及导航到相关视图。了解详情。
![](https://filescdn.proginn.com/fb25515e41d16a35afe0db30e6e8d847/578fa5a4d4873d3a0c5ee2abf9551c10.webp)
2 用户体验
2.1 Search Everywhere(随处搜索)中的文本搜索
![](https://filescdn.proginn.com/857455cf60854278ccecc3b8fea7b3e0/c19e8d3ff233236ee1f5cdf669c3f0a5.webp)
Search Everywhere(随处搜索)(Double ⇧)主要用于搜索文件、类、方法、操作和设置。此更新后,将包含类似 Find in Files(在文件中查找)的文本搜索功能。现在,当给定查询的其他搜索结果很少或没有时,将显示文本搜索结果。此功能默认启用,可在 Settings/Preferences | Advanced Settings | Search Everywhere(设置/偏好设置 | 高级设置 | 随处搜索)中管理。
![](https://filescdn.proginn.com/c3c84efc44d93dbe83a8590866dd20ee/fbf422eb223f97d68b77a234e8498b5d.webp)
2.2 新 UI 中的彩色项目标题
![](https://filescdn.proginn.com/1c5e0c63954012588d2529c0a64bd0c6/3ac8e74d2efa8398606a14297528dd96.webp)
2023.2引入彩色标题,简化多个打开的项目之间的导航。
可为每个项目分配唯一的颜色和图标,使其在工作区中更易区分。标题现在默认带有预定义的颜色,也可自定义。
为项目设置新的颜色,右键点击标题,然后访问上下文菜单。然后,选择 Change Project Color(更改项目颜色)选项,并从建议的列表中选择所需颜色,或浏览调色盘。
禁用此功能,只需在上下文菜单中取消选择 Show Project Gradient(显示项目渐变)选项。
2.3 在 Windows 和 Linux 上的主工具栏中重做了汉堡包菜单
![](https://filescdn.proginn.com/70d2994458f1c78f34ab46f43f8bfa55/27ee5fbb55b9c1fd93c391580713e228.webp)
![](https://filescdn.proginn.com/784959e496746c846ba7eae22e907091/962c9b7d1a1490b9bae119214835dee9.webp)
![](https://filescdn.proginn.com/70d2994458f1c78f34ab46f43f8bfa55/27ee5fbb55b9c1fd93c391580713e228.webp)
![](https://filescdn.proginn.com/784959e496746c846ba7eae22e907091/962c9b7d1a1490b9bae119214835dee9.webp)
改进 Windows 和 Linux 上新 UI 中主工具栏汉堡包菜单的行为。点击菜单图标后,元素现在水平显示在工具栏上方。此外,现在还有一个选项可以将此菜单转换为单独的工具栏,此选项的路径为 View | Appearance | Main menu as a Separate Toolbar(视图 | 外观 | 主菜单作为单独的工具栏)。
2.4 Project(项目)视图中按修改时间对文件进行排序
![](https://filescdn.proginn.com/e20ffdd0f9964255a3be41ca1f816bca/0f455f4b1be4c812a9dac5b3b25eb82e.webp)
2023.2可根据修改时间在 Project(项目)视图中排列文件。每当项目中有更改被保存时,这个新功能就会自动重排文件。
启用此功能,先打开 Project(项目)视图中的竖三点菜单,然后选择 Tree Appearance | Sort by Modification Time(树外观 | 按修改时间排序)。
2.5 新 UI 中带有浅色标题的浅色主题
![](https://filescdn.proginn.com/ea487d7ce5b3b50ec7b22e671adc9080/e8edf6b6708eb302a227e430ac5e66b3.webp)
2023.2 中,引入 Light with Light Header(带有浅色标题的浅色主题)选项提升浅色主题用户体验,可为窗口标题、工具提示和通知气球提供匹配的浅色。
2.6 更新 macOS 上的窗口控件
![](https://filescdn.proginn.com/69095b8d42296deeadde682128d63841/931788d5a1deaf4a8733fbd7ea6071cd.webp)
macOS 全屏模式使用新 UI 时,窗口控件现在将在主工具栏上显示,而不是像以前一样在浮动栏显示。
2.7 新 UI 中移除 Linux 上的标题栏
![](https://filescdn.proginn.com/2a908ee87abce257cece9d53a81cb4f7/13d47231781eb056b83c99246ce25f36.webp)
为方便 Linux 用户,新 UI 中移除了操作系统的原生标题,使界面更加整洁。默认将显示 IDE 的自定义标题,该标题提供了一系列工作区自定义选项。如果您希望将标题还原为之前的外观,请取消选择 Settings | Appearance & Behavior | Appearance | UI Options(设置 | 外观与行为 | 外观 | UI 选项)中的 Merge main menu with window title (将主菜单与窗口标题合并)选项。
2.8 检查描述中的语法高亮显示
![](https://filescdn.proginn.com/bc0c571317d91b0ef687c0a309259d8c/837c6bb38a963da4e7282ba5bb741bf4.webp)
在 Settings / Preferences | Editor | Inspections(设置/偏好设置 | 编辑器 | 检查)中,代码示例现在将包含语法高亮显示,让您可以更容易理解是什么触发了检查并决定使其处于活跃状态还是停用状态。
2.9 在项目目录之间单击导航
![](https://filescdn.proginn.com/cb05598aee5a2952c51eaf7bf2c24ed0/bb7024f21145248bfcc68718f3fcd2a0.webp)
在 Project(项目)视图中,新增 Open Directories with Single Click(单击打开目录)选项,可更快展开/收起项目文件夹,更快响应。点击竖三点菜单后,可从下拉菜单中选择该选项。
2.10 改进了主工具栏自定义
![](https://filescdn.proginn.com/4a674f292bd997755c79c351051ec4d7/f245a6116577cfa7fda076237f996502.webp)
扩展了新 UI 主工具栏的自定义选项。可使用下拉菜单快速选择要添加到工具栏的操作。右键点击任意微件,选择 Add to Main Toolbar(添加到主工具栏),然后浏览可用选项。
2.11 Settings/Preferences(设置/偏好设置)中的推荐插件
![](https://filescdn.proginn.com/b9d7ce5294f5cdcfadaaf6165b76fdd1/a67aeb151c51ffa0dabb086b2d2c720e.webp)
更轻松为特定项目配置 IDE 以及通过插件扩展其功能,更新了 Settings/Preferences | Plugins(设置/偏好设置 | 插件)部分的 UI。它现在包含一组推荐插件,根据项目具体情况自动定义,并在列表顶部显示。
![](https://filescdn.proginn.com/48b4ae8acde0bebfaf19a1551cbdff03/911ed9194f3ce906162b00e6fe98fa70.webp)
2.12 更新了 Services(服务)工具窗口中 Run/Debug(运行/调试)微件的 UI
重做了 Services(服务)工具窗口中运行和调试操作的 UI,使工具栏外观与主 Run/Debug(运行/调试)微件一致。
2.13 在 Run(运行)微件中固定运行配置
![](https://filescdn.proginn.com/ba9bba0fde4e96b651810ad86e830ffc/c978837d9e6b391c65f51f46449e88f6.webp)
为了简化多个运行配置的管理,我们在 Run(运行)微件中实现了固定首选配置的选项。要将运行配置添加到 Pinned(固定)部分,首先打开其名称旁边的竖三点菜单,然后选择 Pin(固定)。如果有多个固定的配置,在列表中拖放即可轻松排列。
3 Java
3.1 新检查和其他代码分析改进
![](https://filescdn.proginn.com/60adbb16a9157b285ffba2ac8dc11127/2d206b6dcd8df66b9e2b905330f3c625.webp)
![](https://filescdn.proginn.com/911e7f3748311996787d5cd49f2a7694/2da6e3e55375598855ddec894ba1b76b.webp)
![](https://filescdn.proginn.com/137c5a13453009e5f8eda460a3382f2c/84a9d2e60fdf37734c7e30504eeb0749.webp)
![](https://filescdn.proginn.com/93bc2daac390c32735016812ce4b7970/446ab8f6544c985f35cce80113af6771.webp)
![](https://filescdn.proginn.com/9f25d62ccbde40c714efcea6387e00b2/7973459852e2fa66ba126a7de3209b7e.webp)
![](https://filescdn.proginn.com/c6195cea9e7cc29fcab944783c31c7c4/52efbd8358668e09a00eca20726fb308.webp)
![](https://filescdn.proginn.com/60adbb16a9157b285ffba2ac8dc11127/2d206b6dcd8df66b9e2b905330f3c625.webp)
![](https://filescdn.proginn.com/911e7f3748311996787d5cd49f2a7694/2da6e3e55375598855ddec894ba1b76b.webp)
改进并扩展了 Java 检查,帮助维护优质代码并更有效地检测潜在问题。当模式引用与实参不匹配时,新的 Incorrect ‘MessageFormat’ pattern('MessageFormat' 模式不正确)检查会发出警告,并且它还会检测 MessageFormat
模式中引号和大括号的错误用法。此外,IDE 现在将报告带有显式 ChronoField
或 ChronoUnit
实参的调用,并建议将其替换为更具体的方法的调用,从而简化代码。
博文详细了解2023.2中的新检查和其他代码分析改进。
3.2 格式字符串的代码高亮显示和导航
![](https://filescdn.proginn.com/86f7fb996c87a05d552e49e1f1995d8f/afea9a75e7784c8428943b8f36ef0a4c.webp)
将文本光标置于格式说明符上后,IDE 将高亮显示相应实参和指向它的其他说明符。可以使用 Go To Declaration(转到声明)(⌘B) 跳转到特定格式字符串占位符的关联代码位置。
3.3 改进了对 Javadoc 注释中 @snippet
标记的支持
![](https://filescdn.proginn.com/92cc094c04164eb57d59f8ebe33f61fd/527ce83a15a0d804b922d520ecb8a3af.webp)
![](https://filescdn.proginn.com/18044d4595b86116a9a708e02ee70385/2618e2cf33ab10f1379879ed3c34c312.webp)
![](https://filescdn.proginn.com/e13a92cf29542e7a372fb9d1bbe7ca17/75c7b6a3d9fe838e79521cae2a6316a7.webp)
![](https://filescdn.proginn.com/92cc094c04164eb57d59f8ebe33f61fd/527ce83a15a0d804b922d520ecb8a3af.webp)
![](https://filescdn.proginn.com/18044d4595b86116a9a708e02ee70385/2618e2cf33ab10f1379879ed3c34c312.webp)
IntelliJ IDEA 改进了 Javadoc 注释中的 @snippet
标记功能。它允许在 @snippet
标记内添加标记注释,并在文档中正确呈现。代码区域已得到支持,可指定要在 Javadoc 注释中引用的代码部分。此外,IDE 现在还支持在 @snippet
标记内包含外部代码段,这将允许您引用存储在单独文件或源中的代码段,并将其包含在 Javadoc 文档中。
3.4 扩展了多个选定成员的重构选项
![](https://filescdn.proginn.com/c311d82088125806dbc9a163382b0f44/90ebf801f5278b47def2455d19af6983.webp)
![](https://filescdn.proginn.com/ed3b1bb4d593504ec4ec94fe4b7cfc62/12ff104c437c461b772557c8070dd3bd.webp)
![](https://filescdn.proginn.com/c311d82088125806dbc9a163382b0f44/90ebf801f5278b47def2455d19af6983.webp)
![](https://filescdn.proginn.com/ed3b1bb4d593504ec4ec94fe4b7cfc62/12ff104c437c461b772557c8070dd3bd.webp)
添加了新方式,可供同时将特定重构应用于多个成员。现在,您可以在 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 将自动在重构对话框中预选并检查这些成员。
3.5 改进了堆栈跟踪分析的导航
![](https://filescdn.proginn.com/d1facddc98b544d8368c07fe99ec564c/6efed4310eba1531bb036bf202d7739e.webp)
为了改进堆栈跟踪分析并更快地解决 bug,IntelliJ IDEA 现在可准确猜测报告中方法的位置,即使行号不可用或已偏离。
3.6 增强了动态 SQL 查询的污点分析 Ultimate
![](https://filescdn.proginn.com/657160e5ea8fe4dd407a6755ba4ddbed/accf44fefed15c4695b31c2f38a234c7.webp)
现在可更好分析 Java 和 Kotlin 中 SQL 的串联和内插,检测潜在的不安全查询,使代码避免可能的 SQL 注入漏洞。
写在最后
公众号
:JavaEdge
专注分享软件开发全生态相关技术文章
、视频教程
资源、热点资讯等,如果喜欢我的分享,给 🐟🐟 点一个赞
👍 或者 ➕关注
都是对我最大的支持。
欢迎长按图片加好友
,我会第一时间和你分享软件行业趋势
,面试资源
,学习途径
等等。
添加好友备注【技术群交流】拉你进技术交流群
关注公众号后,在后台私信:
-
回复【架构师】,获取架构师学习资源教程 -
回复【面试】,获取最新最全的互联网大厂面试资料 -
回复【简历】,获取各种样式精美、内容丰富的简历模板 -
回复 【路线图】,获取直升Java P7技术管理的全网最全学习路线图 -
回复 【大数据】,获取Java转型大数据研发的全网最全思维导图 -
更多教程资源应有尽有,欢迎 关注,慢慢获取