IDEA2024.1版本震撼来袭,手把手教你激活!

前言

作为一个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,框架相关的更新,这只是这次更新的冰山一角,仅仅是这些部分就足以说明这次大版本更新改动之大,优化之明显,更让我迫不及待的开始使用了。

安装

安装步骤不做赘述,都是老手了,新手同学自己看图操作。

激活

  1. 先打开软件,然后直接关闭。

2. 按照文末提供的方式获取激活工具包和码,然后激活

获取方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/521739.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Nuxt 3 项目中配置 Tailwind CSS

官方文档:https://www.tailwindcss.cn/docs/guides/nuxtjs#standard 安装 Tailwind CSS 及其相关依赖 执行如下命令,在 Nuxt 项目中安装 Tailwind CSS 及其相关依赖 npm install -D tailwindcss postcss autoprefixerpnpm install -D tailwindcss post…

深度剖析扫雷游戏的各个知识点(1)

哈喽,小伙伴,大家好,今天我来水一篇文章。害,也不算真的水吧,这次带大家深度剖析初次写扫雷游戏程序时还未接触到的知识点。废话不多说,直接进入正题 不知小伙伴们是否还记得当时我说过扫雷游戏我们是以多个…

AIGC实战——ProGAN(Progressive Growing Generative Adversarial Network)

AIGC实战——ProGAN 0. 前言1. ProGAN2. 渐进式训练3. 其他技术3.1 小批标准差3.2 均等学习率3.3 逐像素归一化 4. 图像生成小结系列链接 0. 前言 我们已经学习了使用生成对抗网络 (Generative Adversarial Network, GAN) 解决各种图像生成任务。GAN 的模型架构和训练过程具有…

2023 年网络安全热点技术发展态势

文章目录 前言一、人工智能信息技术迎来井喷式发展期二、零信任网络安全架构即将投入实际部署三、美国全面推动军政业务向云环境迁移四、专用太空软硬件与独立卫星网络并行发展五、量子信息技术与网络安全领域加速融合前言 在 2023 年取得进展的信息技术不在少数。从网络安全的…

从300亿分子中筛出6款,结构新且易合成,斯坦福抗生素设计AI模型登Nature子刊

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了免费的人工智能中文站https://ai.weoknow.com 新建了收费的人工智能中文站https://ai.hzytsoft.cn/ 更多资源欢迎关注 全球每年有近 500 万人死于抗生素耐药性,因此迫切需要新的方法来对抗耐药菌株。 …

HTML5.Canvas简介

1. Canvas.getContext getContext(“2d”)是Canvas元素的方法,用于获取一个用于绘制2D图形的绘图上下文对象。在给定的代码中,首先通过getElementById方法获取id为"myCanvas"的Canvas元素,然后使用getContext(“2d”)方法获取该Ca…

音视频开发之旅(83)- 腾讯音乐开源高质量唇形同步模型--MuseTalk

目录 1.效果展示 2.原理学习 3.流程分析 4.资料 一、效果展示 -- (推理素材来源于网络,如有侵权,联系立删!) 唱歌效果(歌曲有suno生成) 用于推理的视频素材来源于网络,如有侵权&…

Java中常见的排序算法

常见算法可以分为两大类:   非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。   线性时间非比较类排序:不通过比较来决定元素间的相对次序…

Windows应急响应

1.排查隐藏账号 查看注册表 找到攻击者用户目录文件 排查用户异常 eventvwr.msc 分析用户登录日志 排查可疑端口 排查可疑进程 检查启动项、计划任务和服务 查看系统补丁信息 安装火绒,在安全工具里有火绒剑 计划任务 使用D盾对主机进行检测,发现隐藏账户…

python自定义库的打包和安装

要将自定义库安装到python的三方包地址site-packages中,除了可以直接的复制之外,更为合理科学的方法是通过build和install的方式进行。因为直接复制仅仅作为一种临时的简单的方法,而且只能针对源码进行,也不好进行科学管理&#x…

AJAX —— 学习(三)(完结)

目录 一、jQuery 中的 AJAX (一)get 方法 1.语法介绍 2.结果实现 (二)post 方法 1.语法介绍 2.结果实现 (三)通用型的 AJAX 方法 1.语法介绍 2.结果实现 二、AJAX 工具库 axios &#xff08…

简历复印--原型模式

1.1 夸张的简历 简历的打印。"对编程来说,简单的复制粘贴极有可能造成重复代码的灾难。我所说的意思你根本还没听懂。那就以刚才的例子,我出个需求你写写看,要求有一个简历类,必须要有姓名,可以设置性别和年龄&am…

第十四届蓝桥杯省赛大学C组(C/C++)填充

原题链接:填充 有一个长度为 n 的 01 串,其中有一些位置标记为 ?,这些位置上可以任意填充 0 或者 1,请问如何填充这些位置使得这个 01 串中出现互不重叠的 0 和 1 子串最多,输出子串个数。 输入格式 输入一行包含一…

SQLite 4.9的 OS 接口或“VFS”(十三)

返回:SQLite—系列文章目录 上一篇:SQLite字节码引擎(十二) 下一篇:SQLite 4.9的虚拟表机制(十四) 1. 引言 本文介绍了 SQLite OS 可移植性层或“VFS” - 模块位于 SQLite 实现堆栈底部 提供跨操作系统的可移植性。 VFS是Virtual File…

5560.树的直径

蛮不错的一道题目&#xff0c;你要利用树的性质分析出&#xff0c;你只需要维护上一次的树的直径的两个端点就好了 #include<iostream>using namespace std; using ll long long; using pii pair<int,int>; const int N 6e510; const int inf 0x3f3f3f3f; cons…

算法:树形dp(树状dp)

文章目录 一、树形DP的概念1.基本概念2.解题步骤3.树形DP数据结构 二、典型例题1.LeetCode&#xff1a;337. 打家劫舍 III1.1、定义状态转移方程1.2、参考代码 2.ACWing&#xff1a;285. 没有上司的舞会1.1、定义状态转移方程1.2、拓扑排序参考代码1.3、dfs后序遍历参考代码 一…

MySQL复制拓扑4

文章目录 主要内容一.启用GUID并配置循环复制1.其中&#xff0c;UUID用来唯一标识每一个服务器&#xff0c;事务的编号记录了在该服务器上执行的事务的顺序。使用SELECT server_uuid\G命令可以查看服务器的UUID&#xff0c;sever1的UUID值显示如下&#xff1a;代码如下&#xf…

Vue3_2024_7天【回顾上篇watch常见的后两种场景】

随笔&#xff1a;这年头工作不好找咯&#xff0c;大家有学历提升的赶快了&#xff0c;还有外出人多注意身体&#xff0c;没错我在深圳这边阳了&#xff0c;真的绝啊&#xff0c;最尴尬的还给朋友传染了&#xff01;&#xff01;&#xff01; 之前三种的监听情况&#xff0c;监听…

文本识别 OCR 解决方案

Capture2Text 便携式 OCR 工具 Capture2Text 能够使用键盘快捷键快速对屏幕的一部分进行 OCR。 默认情况下&#xff0c;生成的文本将保存到剪贴板。支持中文、英文、法文、德文、日文、韩文、俄文、西班牙文等 90 多种语言。 Capture2Text 是便携式工具&#xff0c;不需要安装…

快速了解FastAPI与Uvicorn是什么?

概念 什么是Uvicorn Python Uvicorn 是一个快速的 ASGI&#xff08;Asynchronous Server Gateway Interface&#xff09;服务器&#xff0c;用于构建异步 Web 服务。它基于 asyncio 库&#xff0c;支持高性能的异步请求处理&#xff0c;适用于各种类型的 Web 应用程序。 Uvi…