前瞻|IDEA 2024.1:Spring支持增强、GitHub Action支持增强、HTTP Client更新等

有段时间没有更新IDEA了,早上看到 IntelliJ IDEA 2024.1 EAP 5 发布的邮件,瞄了一眼,发现真的是越来越强了,其中不少功能对我来说还是非常有用的。也许这些能力对关注DD的小伙伴也有帮助,所以搞篇博客介绍和推荐一下。

Spring、Quarkus等主流框架的支持增强

  1. Search Everywhere功能中增加Endpoints选项卡

具体如下图所示:

开发者可以在这里直接搜索通过Spring、Quarkus、Micronaut、Ktor实现的接口来找到具体的代码实现位置。这个功能非常实用,尤其是对于接手老项目的开发者来说,可以快速的定位接口实现来完成开发任务或问题排查。

  1. 增强Spring Bean的自动补全和自动装配

IntelliJ IDEA 现在为应用程序上下文中的所有 Bean 提供自动补全功能,并自动连接它们。

如果 bean 通过构造函数具有自动装配依赖项,则相关字段也会通过构造函数自动装配。

同样,如果通过字段或 Lombok 的 @RequiredArgsConstructor 注释注入依赖项,则新 bean 会自动通过字段连接。

  1. 增强 Spring 模型图

在该版本中用户访问Spring模型图变得更加容易,可以如下图这样点击Spring标识的行标记直接跳转:

也可以使用快捷键 ⌥⏎ (MacOS) 或 Alt+Enter(Windows)来生成和跳转。

同时,该版本还引入了新的图标,增强了 Spring 模型图的可视化内容,如:ComponentsControllersRepositories。此外,您现在可以方便地切换库中 Bean 的可见性(默认情况下是隐藏的)。

HTTP Client的改进

HTTP Client现在提供更多身份验证选项,包括 PKCE 授权代码和设备授予流程。它还支持令牌和身份验证请求的额外参数。

现在它可以自动处理 code_challengepasses code_verifier 的生成,以便在 PKCE 请求中检索令牌。

这个版本的HTTP Client 可以使用 Netty 作为其低级网络库。通过支持 SSL、代理和 HTTP/2,使我们能够在 HTTP 客户端中实现 HTTP/2 的支持。

此外,HTTP Client的工具栏外观,也与新的 UI 风格保持一致,提供更加美观的用户体验。

欢迎关注《玩转IDEA》专栏:https://www.didispace.com/idea-tips/

GitHub Action的支持增强

  1. Workflow 上下文的支持

现在可以为各种 GitHub Action上下文引入了广泛的自动完成支持,包括github.*env.*steps.*inputs.*


这个优化非常有用,可以有效的降低编写复杂工作流脚本的过程,开发人员不用再去频繁的搜索上下文中涉及的参数了。

该优化在YAML文件配置中也同样有效:

YAML文件中,开发者还可以使用 branding 功能使用特定图标和颜色指示器自定义 GitHub 上操作的外观。

此功能使操作创建者能够在 GitHub Marketplace 和工作流程中直观地区分他们的操作,使它们更易于识别和用户友好。通过在 action.yml 文件中指定图标和颜色,开发人员可以一目了然地传达其操作的目的,从而增强整体用户体验。这种可视化定制有助于对操作进行分类,并帮助用户快速识别 CI/CD 管道所需的工具。

  1. Docker 镜像自动补全

此增强功能在 GitHub 工作流程文件中提供image和tag建议,从而更轻松地将 Docker 容器集成到您的操作中。

  1. JavaScript 文件路径补全

文件路径完成功能会自动建议文件路径,从而简化 JavaScript 操作的配置并简化工作流程执行。

其他更新

  • 优化JSON schema的处理:优化了 JSON 模式验证和完成背后的代码。因此,IDE 现在可以更快地处理此任务并减少内存消耗。在使用 Azure Pipelines 的现实文件中,架构检查现在速度提高了 10 倍。

  • 现在可以在所有常见场景中轻松完成 HTTP Header,例如使用 Spring WebClient 和 RestAssured 测试。当遇到预期值时,会自动出现完成弹出窗口。

另外,DD的博客已经做了改版目前有多个有意思的长期连载专栏,其中一个就是《玩转IDEA》,这次换了工具,直接采用电子文档的形式,阅读体验更好,对这些内容感兴趣的,可以关注起来:https://www.didispace.com/idea-tips/

你还在购买国内的各种昂贵又低质的技术教程吗?这里给大家推荐下我们自研的Youtube视频语音转换插件(https://youtube-dubbing.com/),一键外语转中文,英语不好的小伙伴也可以轻松的学习油管上的优质教程了,下面是演示视频,可以直观的感受一下:


我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。

推荐阅读

··································

点击卡片关注我,分享一线前沿干货

点击阅读原文,直达Java新特性专栏

相关推荐
pjx98730 分钟前
服务间的“握手”:OpenFeign声明式调用与客户端负载均衡
java·运维·spring·负载均衡
prinrf('千寻)1 小时前
MyBatis-Plus 的 updateById 方法不更新 null 值属性的问题
java·开发语言·mybatis
老华带你飞1 小时前
实习记录小程序|基于SSM+Vue的实习记录小程序设计与实现(源码+数据库+文档)
java·数据库·spring boot·小程序·论文·毕设·实习记录小程序
在未来等你2 小时前
互联网大厂Java求职面试:AI与大模型应用集成及云原生挑战
java·微服务·ai·kubernetes·大模型·embedding·spring ai
亦世凡华、2 小时前
静态网站部署:如何通过GitHub免费部署一个静态网站
经验分享·github·github pages·站点部署
源码技术栈2 小时前
SaaS基于云计算、大数据的Java云HIS平台信息化系统源码
java·大数据·云计算·云his·his系统·云医院·区域his
编程、小哥哥2 小时前
互联网大厂Java面试:从Spring Boot到微服务架构的技术深挖
java·spring boot·redis·微服务·prometheus·面试技巧
揽你·入怀2 小时前
数据结构:ArrayList简单实现与常见操作实例详解
java·开发语言
Easybr指纹浏览器2 小时前
5 easybr指纹浏览器内存修改教程
chrome·http·游戏·web3·社媒营销·电商·多账号管理·指纹浏览器·浏览器开发·sock5·跨境营销·账号防关联
okok__TXF2 小时前
SpringBoot3+AI
java·人工智能·spring