前瞻|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新特性专栏

相关推荐
CT随1 分钟前
Redis内存碎片详解
java·开发语言
brrdg_sefg10 分钟前
gitlab代码推送
java
hanbarger33 分钟前
mybatis框架——缓存,分页
java·spring·mybatis
cdut_suye41 分钟前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
苹果醋31 小时前
2020重新出发,MySql基础,MySql表数据操作
java·运维·spring boot·mysql·nginx
小蜗牛慢慢爬行1 小时前
如何在 Spring Boot 微服务中设置和管理多个数据库
java·数据库·spring boot·后端·微服务·架构·hibernate
azhou的代码园1 小时前
基于JAVA+SpringBoot+Vue的制造装备物联及生产管理ERP系统
java·spring boot·制造
18号房客1 小时前
macOS开发环境配置与应用开发教程(一)
vscode·macos·visualstudio·eclipse·intellij-idea·phpstorm·visual studio
HelloGitHub1 小时前
跟着 8.6k Star 的开源数据库,搞 RAG!
开源·github
wm10432 小时前
java web springboot
java·spring boot·后端