前言
作为一个Java程序猿,必不可少的一款开发IDE神器:IntelliJ IDEA,简称“IDEA”。就在前天(2024.4.4)终于推出了心心念念的2024.1版本。
IntelliJ IDEA 2024.1 引入了一系列令人期待的升级,可以帮助您简化工作流。 IntelliJ IDEA Ultimate 现已搭载全行代码补全,为整行代码提供全面的代码感知建议。 对 Java 22 的支持可以确保与最新语言功能的兼容。 重做的终端能够增强命令行操作,编辑器中的粘性行则有助于更流畅地浏览代码库。 在版本 2024.1 中,IDE 还获得了其他数十项改进。 快来看看吧!
关键亮点
全行代码补全 Ultimate
IntelliJ IDEA Ultimate 2024.1 带有针对 Java 和 Kotlin 的全行代码补全。 这项功能由无缝集成到 IDE 中的高级深度学习模型提供支持。 它可以基于上下文分析预测和建议整行代码,有助于提高编码效率。 这些建议由针对不同语言和框架特别训练的专属语言模型驱动,模型完全在本地设备上运行,有助于确保数据安全,并且无需与外部服务器通信。
对 Java 22 功能的支持
IntelliJ IDEA 2024.1 提供了对 2024 年 3 月发布的 JDK 22 中的功能集的支持, 支持覆盖未命名变量与模式的最终迭代、字符串模板与隐式声明的类的第二个预览版,以及实例 main 方法。 此外,此更新还引入了对 super(...) 之前预览状态下的 new 语句的支持。
新终端 Beta
IntelliJ IDEA 2024.1 推出了重做的终端,具有可视化和功能增强,有助于简化命令行任务。 此更新为既有工具带来了全新的外观,命令被分为不同的块,扩展的功能集包括块间丝滑导航、命令补全和命令历史记录的轻松访问等。
image
2_New_Terminal
编辑器中的粘性行
我们在编辑器中引入了粘性行,旨在简化大文件的处理和新代码库的探索。 滚动时,此功能会将类或方法的开头等关键结构元素固定到编辑器顶部。 这将使作用域始终保持在视野中,您可以点击固定的行快速浏览代码。
Sticky_lines
image
AI Assistant 改进 Ultimate
AI Assistant 获得了多项有价值的更新,包括改进的测试生成和云代码补全、提交消息的自定义提示语、从代码段创建文件的功能,以及更新的编辑器内代码生成。
请注意,在版本 2024.1 中,AI Assistant 已解绑,现在作为独立插件提供。 这一改动是为了在使用 AI 赋能的技术方面提供更多的决策灵活度,让您能够在工作环境中更好地控制偏好和要求。 AI Assistant 仍然需要有效的 JetBrains AI 订阅。
AI Assistant 中针对 Java 和 Kotlin 的改进代码高亮显示 Ultimate
我们在 AI Assistant 的回复中针对 Java 和 Kotlin 增强了代码高亮显示。 AI 聊天中的代码现在会像在编辑器中一样高亮显示,加快评估速度。 这项增强功能可以在聊天中提供类似编辑器的体验,使 AI Assistant 的建议更加直观。
image
字符串模板中的语言注入
IntelliJ IDEA 2024.1 引入了将语言注入字符串模板的功能。 您可以使用注解,注解会自动选择所需语言,也可以使用 Inject language or reference(注入语言或引用)意图操作 (Alt+Enter) 从列表中手动选择语言。 如果您使用后一种方式,IDE 将建议您插入语言注解。 执行注入后,您可以再次调用意图操作列表,并选择在独立编辑器窗格中打开和编辑注入的片段。
1_Language_injection_in_string_templates
image
改进的日志工作流
由于日志记录是日常开发的重要环节,我们引入了一系列更新来增强 IntelliJ IDEA 在日志方面的用户体验。 现在,您可以从控制台中的日志消息轻松导航到生成它们的代码。 此外,IDE 会在有需要的位置建议添加记录器,并简化插入记录器语句的操作,即使记录器实例不在作用域内。
1_logs_navigation
2_logger_statements_completion
3_logger_statements_generation
新检查与快速修复
我们为 Java 实现了新的检查和快速修复,帮助您保持代码整洁无误。 为清楚起见,IDE 现在会检测可被替换为对 Long.hashCode() 或 Double.hashCode() 方法的调用的按位操作。 此外,新的快速修复可以根据代码库的要求简化隐式和显式类声明之间的切换。 另一项新检查为匹配代码段建议使用现有 static 方法,使代码可以轻松重用,无需引入额外 API。 此外,IDE 现在可以检测并报告永远不会执行的无法访问的代码。
image
2_Switch_between_implicit_and_explicit
3_Use_existing_method
image
通过多版本 JAR 增强的用户体验
IntelliJ IDEA 2024.1 通过多版本 JAR 库提供增强的用户体验。 使用具有不同版本的类时,Go to declaration(转到声明)功能现在会根据当前模块的语言级别从 JAR 中选择正确的版本。 此外,Go to class(转到类)功能还提供有关类版本的额外信息。 调试期间使用 Step Into(步入)时,IDE 会将您带到与 JDK 版本而不是模块语言级别对应的类。
Multi-release_JARs_1
image
Multi-release_JARs_3
重做的 Conflicts Detected(检测到冲突)对话框
在版本 2024.1 中,我们重做了 Conflicts Detected(检测到冲突)对话框以提高可读性。 现在,对话框中的代码反映了编辑器中的内容,使您可以更清楚地了解冲突,并且 IDE 会自动保存窗口大小调整以供将来使用。 另外,我们还更新了按钮及其行为以简化重构工作流,对话框现在可以完全通过键盘访问,您可以使用快捷键和箭头键进行无缝交互。
image
Rename(重命名)重构嵌入提示
为了使重命名流程更简单、更直观,我们实现了一个新的嵌入提示,在更改的代码元素上显示。 要将代码库中的所有引用更新为新版本,点击此提示并确认更改即可。
Rename_inlay_hint
针对 Maven 项目的打开速度提升
IntelliJ IDEA 现在通过解析 pom.xml 文件构建项目模型。 这使得有效项目结构可以在几秒钟内获得,具有所有依赖项的完整项目模型则同时在后台构建,使您无需等待完全同步即可开始处理项目。
多语句的内联断点
IntelliJ IDEA 2024.1 为在包含 lambda 函数或 return 语句的行中的断点设置提供了更方便的工作流。 点击装订区域设置断点后,IDE 会自动显示可在其中设置额外断点的内联标记。 每个断点都可以独立配置,释放高级调试功能。
Inline_breakpoints
调用堆栈中的折叠库调用
现在,库调用在 Debug(调试)工具窗口的调用堆栈中默认折叠,帮助您在浏览代码时保持专注。 但是,如果您需要验证库调用序列,可以展开组并相应地探索帧。 要显示列表,请使用工具栏中的 Filter(筛选器)图标或调用上下文菜单并禁用 Hide Frames from Libraries(在库中隐藏帧)选项。
image
条件语句覆盖
版本 2024.1 使 IntelliJ IDEA 距离实现全面测试覆盖又近了一步。 这项更新的重点是确定测试未完全覆盖代码中的哪些条件语句。 现在,IntelliJ IDEA 既显示哪一行具有未覆盖的条件,还会指定未覆盖的条件分支或变量值。 这项功能默认启用,您可以在 Settings/Preferences | Build, Execution, Deployment | Coverage(设置/偏好设置 | 构建、执行、部署 | 覆盖率)进行控制。
代码覆盖率设置移至主 IDE 设置
代码覆盖率设置已从 Run Configuration(运行配置)弹出窗口移至 Settings/Preferences | Build, Execution, Deployment | Coverage(设置/偏好设置 | 构建、执行、部署 | 覆盖率)。 经过这一改动,不必为每次测试运行单独更新配置即可选择覆盖率运行程序或启用高级功能,例如跟踪哪些测试覆盖特定代码行。
JaCoCo 测试覆盖率报告的简化导入
现在,可以更轻松地导入、浏览和分析 JaCoCo 运行程序在 CI/CD 管道中收集的代码覆盖率数据。 如果 Coverage(覆盖率)工具窗口中未显示报告,现在将显示用于导入 JaCoCo 报告的直接链接。 我们还更新了窗口的工具栏,添加了一个导入图标,这个图标允许您作为 .exec 文件检索 JaCoCo 报告。
Test_coverage_reports_2
针对 Spring 的改进 Bean 补全和自动装配 Ultimate
IntelliJ IDEA Ultimate 现在为应用程序上下文中的所有 Bean 提供自动补全,并自动装配 Bean。 如果 Bean 通过构造函数自动装配依赖项,则相关字段也会通过构造函数自动装配。 同样,如果依赖项是通过字段或 Lombok 的 @RequiredArgsConstructor 注解注入,则新 Bean 会自动通过字段装配。
Enhanced_bean_completion_and_autowiring_spring
增强的 Spring 图表 Ultimate
我们使 Spring 模型图表更易访问。 您可以使用 Bean 行标记或对 Spring 类使用意图操作 (Alt+Enter) 进行调用。 我们为 Spring 图表引入了新的图标,增强了 Spring 原型(如组件、控制器、仓库和配置 Bean)的可视化。 此外,您现在可以方便地切换库中 Bean 的可见性(默认隐藏)。
image
image
HTTP 客户端改进 Ultimate
版本 2024.1 中的 HTTP 客户端提供了更多身份验证选项,包括 PKCE 授权代码和设备授予流。 除了在 PKCE 请求期间自动处理用于令牌检索的 code_challenge 生成和 code_verifier 传递之外,它还支持令牌和身份验证请求的额外参数。 HTTP 客户端升级为 Netty 的底层网络库实现了 SSL、代理和 HTTP/2 支持,有助于促进 HTTP/2 的实现。 此外,HTTP 客户端的工具栏已经过重做,与新 UI 的风格保持一致,提供更加美观协调的外观。
image
image
Search Everywhere(随处搜索)中的 Endpoints(端点)标签页Ultimate
我们引入了在 URL 搜索结果相关的项目中出现的 Endpoints(端点)标签页,增强了 Search Everywhere(随处搜索)对话框。 目前,检测到项目中存在 Spring、Micronaut、Ktor 或 Quarkus 技术时,IDE 会自动包含此标签页。
针对 HTTP 页眉的代码补全 Ultimate
现在,HTTP 页眉可以在所有常见场景中轻松补全 ,例如使用 Spring WebClient 和 REST Assured 测试。 遇到预期值时,补全弹出窗口会自动出现。
code_completion_for_HTTP_headers
优化的 JSON 架构处理 Ultimate
我们优化了 JSON 架构验证和补全背后的代码。 因此,IDE 现在可以更快处理这些任务并减少内存消耗。 在使用 Azure Pipelines 的现实文件中,架构检查速度现在提高了 10 倍。
image
这里我只挑选了关键更新点,Java,框架相关的更新,这只是这次更新的冰山一角,仅仅是这些部分就足以说明这次大版本更新改动之大,优化之明显,更让我迫不及待的开始使用了。
安装
安装步骤不做赘述,都是老手了,新手同学自己看图操作。
激活
- 先打开软件,然后直接关闭。
2. 按照文末提供的方式获取激活工具包和码,然后激活