《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 OSC开源社区(ID:oschina2013) 「罗奇奇」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

IntelliJ IDEA 2022.1 正式发布了

该版本的重点功能是:引入了 Dependency Analyzer 以促进依赖关系管理和冲突解决,一个更新的 New Project 向导来优化新项目的启动过程,以及 Notifications 通知工具窗口,它提供了一种新的、简化的方式来接收来自 IDE 的通知。

2022.1 版本还包括许多其他值得注意的改进,今天这篇文章来聊一聊几个主要的功能更新。

关键更新

  • 依赖分析器 (Dependency Analyzer)

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

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

  • 增强的 新项目 向导

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

  • 新的通知 工具窗口

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

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

用户体验

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

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

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

  • 均匀拆分选项卡

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

  • 将 UML 图导出为其他格式

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

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

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

安全

  • 包检查器插件

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

Java 支持

  • 支持 Java 18

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

有关详细信息,可参阅:https://blog.jetbrains.com/idea/2022/03/java-18-features-support

  • Java反编译器

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

  • 更好的 JUnit 5 支持

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

使用 try/catch 模板更新 Surround

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

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 将建议几个选项。

Spring Data Mongo 的代码洞察改进

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

更好地支持 .proto 文件

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

gRPC 反射支持

  • 当项目中存在描述 gRPC 服务的 .proto 文件时,IntelliJ IDEA Ultimate 现在为服务名称、方法名称和请求正文选项提供代码补全。更重要的是,现在可以通过装订线图标运行请求。
  • 如果项目没有 .proto 文件,但服务器支持 gRPC 反射,你将能够运行请求,并完成服务器运行实例的服务和方法名称。

Kubernetes 支持

Kubernetes

编辑集群上的资源

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

kubectl 的自定义路径

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

转发端口

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

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

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

支持集群中的事件

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

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

支持

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

对 Helm 的导入子值支持

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

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

构建工具

  • 更新 Gradle 的进度条

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

此版本还包含的其他更新项,详情可参阅:https://www.jetbrains.com/idea/whatsnew/#web-development

怎么样,这次大家会更新不?

文章目录
  1. 1. 关键更新
    1. 1.0.1. 依赖分析器 (Dependency Analyzer)
    2. 1.0.2. 增强的 新项目 向导
    3. 1.0.3. 新的通知 工具窗口
  • 2. 用户体验
    1. 2.0.1. 新建项目向导中的 Maven Archetype 优化
    2. 2.0.2. 均匀拆分选项卡
    3. 2.0.3. 将 UML 图导出为其他格式
    4. 2.0.4. 更新了 结构搜索和替换 对话框
  • 3. 安全
    1. 3.0.1. 包检查器插件
  • 4. Java 支持
    1. 4.0.1. 支持 Java 18
    2. 4.0.2. Java反编译器
    3. 4.0.3. 更好的 JUnit 5 支持
    4. 4.0.4. 使用 try/catch 模板更新 Surround
  • 5. Kotlin 支持
    1. 5.0.1. 改进了 Kotlin 的 IDE 性能
  • 6. 框架和技术
    1. 6.0.1. Go 微服务支持
    2. 6.0.2. Spring Data Mongo 的代码洞察改进
    3. 6.0.3. 更好地支持 .proto 文件
    4. 6.0.4. gRPC 反射支持
  • 7. Kubernetes 支持
    1. 7.0.1. Kubernetes
    2. 7.0.2. 编辑集群上的资源
    3. 7.0.3. kubectl 的自定义路径
    4. 7.0.4. 转发端口
    5. 7.0.5. 服务视图中的 描述资源操作
    6. 7.0.6. 支持集群中的事件
    7. 7.0.7. 支持
    8. 7.0.8. 对 Helm 的导入子值支持
  • 8. 构建工具
    1. 8.0.1. 更新 Gradle 的进度条