热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

IntelliJIDEA2022.1正式发布!

IntelliJIDEA2022.1正式发布了,该版本的重点功能是:引入了DependencyAnalyzer以促进依赖关系管理和冲突解决,

IntelliJ IDEA 2022.1 正式发布了,该版本的重点功能是:引入了 Dependency Analyzer 以促进依赖关系管理和冲突解决,一个更新的 New Project 向导来优化新项目的启动过程,以及 Notifications 通知工具窗口,它提供了一种新的、简化的方式来接收来自 IDE 的通知。2022.1 版本还包括许多其他值得注意的改进,下面摘录部分新功能作介绍。

关键更新

  • 依赖分析器 (Dependency Analyzer)

为了促进依赖管理和冲突解决,IntelliJ IDEA 实现了依赖分析器,它提供项目和子项目中使用的所有依赖项(包括传递性依赖项)的广泛信息。

这个新功能允许轻松检测冲突的依赖关系并解决问题,比如可以过滤掉相同的依赖项,并查看它们在不同库中的存在,还可以快速浏览依赖项,以正确构建配置。 

292f81e45d178f7943f7ea50f429ce1a.png

  • 增强的 新项目 向导

重新设计了新项目 向导界面,以简化创建新项目的过程。可以快速启动一个空项目;使用 Java、Kotlin、Groovy 和 Javascript 的预配置选项;或者有更复杂的项目,请使用生成器。

a87b13afd494f3219d73d88f5a2a66c9.gif

  • 新的通知 工具窗口

事件日志实例已替换为新的 通知 工具窗口,更清楚地突出重要和有用的建议和通知,并将它们组织在专用工具窗口中。

有关更多详细信息,请参阅博客文章:https://blog.jetbrains.com/idea/2022/01/intellij-idea-2022-1-eap-1/#New_Notifications_tool_window

349099096dc65021aef8c7cfa361bd69.png

用户体验

  • 新建项目向导中的 Maven Archetype 优化

作为新建项目向导的 UI 改造的一部分,IntelliJ IDEA 重新设计了 Maven Archetype 项目生成器,2022.1 版本在浏览原型时引入了“键入时搜索”功能,以及在模块创建期间管理原型目录的能力。

ed92a02617894e076747c578c8e6d3c0.gif

此外,还可以按原型输入所需的属性:

01c5f6f02a72eaa2259336b64715e778.png

  • 均匀拆分选项卡

IntelliJ IDEA 2022.1 可以在编辑器选项卡之间平均分配工作空间,使它们具有相同的宽度。

5481b4dd61a3efd75573086e5aea8e91.gif

  • 将 UML 图导出为其他格式

现在可以将 UML 图导出为 yEd .graphml、JGraph .drawio、Graphviz .dot、带位置的 Graphviz .dot、Mermaid .md、Plantuml 和 IntelliJ IDEA .uml 文件,使得它们与第三方工具兼容。

88fd67b915623eb21165395ec060a9bf.png

  • 更新了 结构搜索和替换 对话框

重新设计了结构搜索和替换对话框,提供所有模板的列表,以便更轻松地在它们之间导航。 

beaf28c59db961715c825acedb50ce8f.gif

安全

  • 包检查器插件

ntelliJ IDEA 2022.1 现在可以通过检查 Checkmarx SCA 数据库和国家漏洞数据库,来检测项目中使用的 Maven 和 Gradle 依赖项中的漏洞。

1eba1eddb9f355a6e246554f6fb27140.png

Java 支持

  • 支持 Java 18

IntelliJ IDEA 2022.1 支持 2022 年 3 月发布的 Java 18 的新功能。‍‍‍‍‍‍‍‍‍‍‍‍‍‍IDE 现在支持代码片段、开关表达式的模式匹配更改等功能。

有关详细信息,请参阅此博客文章:https://blog.jetbrains.com/idea/2022/03/java-18-features-support/?_gl=1*6wf1f9*_ga*MjA4MTU3MzE1OC4xNjM0ODU3MzQ1*_ga_V0XZL7QHEB*MTY0OTgwNTQ3NS40LjEuMTY0OTgwNjMwMy4yMw..&_ga=2.58852333.1145425053.1649805475-2081573158.1634857345

da8c977b284a3562c878679062f0e853.png

  • Java反编译器

Java 反编译器现在与 Java 17 版本更兼容。它支持现代语言构造函数,例如密封类型和模式匹配,具有更好的字符串反编译切换功能,提供类型注释并检测公共常量。

b54353bb982a99f0c500873573693414.png

  • 更好的 JUnit 5 支持

添加了对 JUnit 5.7 中引入的新功能的支持,包括对@EnabledIf/DisabledIf@NullSource/EmptySource@TempDir注释的支持。

ce31f8fda95ba34e9a3d53122945e5c8.png

使用 try/catch 模板更新 Surround

更新后的带有 try/catch模板的 Surround 现在重新抛出包装到 RuntimeException 中的异常,而不是吞下它。

21ead3b686c6345c8c83be46f4c68ed0.gif

Kotlin 支持

IntelliJ IDEA 2022.1 支持 Kotlin 1.6.20,因此最新的 Kotlin 语言功能,例如支持并行编译、上下文接收器原型以及跨所有 Kotlin 目标的更好的代码共享,现在都可以在 IDE 中使用。

在此博客文章中了解有关新 Kotlin 更新的更多 信息:https://blog.jetbrains.com/kotlin/2022/04/kotlin-1-6-20-released/

  • 改进了 Kotlin 的 IDE 性能

优化了包索引,大大提高了 IDE 在执行代码完成、突出显示和与参考搜索等相关操作时的速度,在代码更改后发生的重新索引案例的数量和范围也有所减少。

框架和技术 

Go 微服务支持

  • 添加了对 Go 微服务的支持,提供 URL 路径引用、端点、Search Everywhere 和装订线图标等功能。使用这些功能需要在 IntelliJ IDEA Ultimate 中安装 Go 插件,目前仅适用于标准库函数。

  • IntelliJ IDEA Ultimate 现在为 Go 文件中的 HTTP 方法和标头提供补全,每个端点旁边都会出现一个地球图标,如果单击它,IntelliJ IDEA Ultimate 将建议几个选项。

9247df56e2daebaafd2ae0d6db1fa5ce.gif

Spring Data Mongo 的代码洞察改进

引入了许多更新来改善使用 Spring Data MongoDB 的用户体验。IntelliJ IDEA 现在突出显示 JSON 查询,完成运算符和文档字段,并提供从映射实体到 数据库 工具窗口的导航。

0da51f318ad94e02b4c418e1e90efa74.png

397f6e72479941fb02034b454f996949.gif

更好地支持 .proto 文件

为 .proto 文件引入了一个新的意图操作:为未解析的消息引用添加了缺失的导入语句,添加缺少的导入语句后, IDE 将提供消息引用的补全建议。

97a4486fdd9954296d0684eb39859ecf.png

gRPC 反射支持

  • 当项目中存在描述 gRPC 服务的 .proto 文件时,IntelliJ IDEA Ultimate 现在为服务名称、方法名称和请求正文选项提供代码补全。更重要的是,现在可以通过装订线图标运行请求。

  • 如果项目没有 .proto 文件,但服务器支持 gRPC 反射,你将能够运行请求,并完成服务器运行实例的服务和方法名称。

Kubernetes 支持

Kubernetes

编辑集群上的资源

现在可以从编辑器选项卡中修改从集群加载的资源。

174b388c8b939833150d19a3857e0988.gif

kubectl 的自定义路径

如果 kubectl 不在标准位置,现在可以手动配置路径。

7eaf810e74badcf15f5717105b013ec4.png

转发端口 

该版本为 pod 添加了端口转发功能。要转发端口,可以使用工具栏上的图标或选择上下文菜单项。

2e83ea87f7694c4dc23936136d7a9e4b.gif

服务视图中的 描述资源操作

“服务”视图中的所有资源都有一个新的“描述资源”操作,可以从上下文菜单中调用它或使用工具栏按钮。

bf2490699902c4125d8bdac2b970d490.png

支持集群中的事件

集群事件现在显示在 服务 视图的单独节点中,提供有关系统中最近事件的数据。

78d5d95244ac4ec4fab4f13ac814972a.png

要查看特定 pod 的事件,请在其上面调用 Describe Resource 并在操作结果中 查找 Events 部分

21585362315f28273e2cf2e6bebb50e8.png

支持

为 werf.yaml 和相关 Helm 模板文件 ( https://werf.io ) 引入了有限的编辑器支持,包括代码补全功能、检查和快速修复建议、重构/重命名 . Values.werf.image.*,以及一些字段的验证,如 boolean 和 int。  

af22222554611752ff75e1572f2cb9dc.png

e83786463863bb5a8e305ec2017323b5.png

对 Helm 的导入子值支持

支持通过 import-values 设置导入子值,这些设置影响模板中内置对象的完成/导航。尚未提供对 import-values 字段的增强编辑器支持。

6d6dae5a1793eaf3c8f002500aaf83c8.gif

‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍请注意,Kubernetes 功能仅适用于 IntelliJ IDEA Ultimate,并且需要安装插件。

构建工具

  • 更新 Gradle 的进度条

为 Gradle 进程实现了一个确定的进度条,例如下载依赖项和导入工件,允许跟踪文件发生的情况并估计该过程何时完成。

7d5cf75934030bf512d931f51f836913.gif

此版本还包含大量更新项,详情可在更新公告中细阅:https://www.jetbrains.com/idea/whatsnew/#web-development

转自: OSC开源社区(ID:oschina2013)

如有文章对你有帮助,
“在看”和转发是对我最大的支持!

暂时开放微信大号,好友位不多,需要的小伙伴们可以加,朋友圈和交流群里会发一些学习资料、个人见解、白嫖课程等等。

扫描下方二维码即可加我微信啦,2022,抱团取暖,一起牛逼。

30490d75de5b7a5545baba121d612194.png


推荐阅读
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • OCI连接MySQL_PLSQL Developer连接远程数据库OCI客户端安装方法
    本文介绍了使用OCI客户端连接MySQL和PLSQL Developer连接远程数据库的安装方法,避免了在本地安装Oracle数据库或类似的开发套件的麻烦,同时解决了PLSQL Dev连接远程Oracle时的配置问题。 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • 二进制空间权重矩阵_Stata: 空间权重矩阵的构建
    作者:潘星宇(清华大学)Stata连享会:知乎|简书|码云|CSDNStata连享会计量专题||公众号合集直播:动态空间面板|空间双差分S ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • JVM 学习总结(三)——对象存活判定算法的两种实现
    本文介绍了垃圾收集器在回收堆内存前确定对象存活的两种算法:引用计数算法和可达性分析算法。引用计数算法通过计数器判定对象是否存活,虽然简单高效,但无法解决循环引用的问题;可达性分析算法通过判断对象是否可达来确定存活对象,是主流的Java虚拟机内存管理算法。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 数字账号安全与数据资产问题的研究及解决方案
    本文研究了数字账号安全与数据资产问题,并提出了解决方案。近期,大量QQ账号被盗事件引起了广泛关注。欺诈者对数字账号的价值认识超过了账号主人,因此他们不断攻击和盗用账号。然而,平台和账号主人对账号安全问题的态度不正确,只有用户自身意识到问题的严重性并采取行动,才能推动平台优先解决这些问题。本文旨在提醒用户关注账号安全,并呼吁平台承担起更多的责任。令牌云团队对此进行了长期深入的研究,并提出了相应的解决方案。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
author-avatar
or70woo
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有