IntelliJ IDEA 2022.1 正式发布了,该版本的重点功能是:引入了 Dependency Analyzer 以促进依赖关系管理和冲突解决,一个更新的 New Project 向导来优化新项目的启动过程,以及 Notifications 通知工具窗口,它提供了一种新的、简化的方式来接收来自 IDE 的通知。2022.1 版本还包括许多其他值得注意的改进,下面摘录部分新功能作介绍。
关键更新
依赖分析器 (Dependency Analyzer)
为了促进依赖管理和冲突解决,IntelliJ IDEA 实现了依赖分析器,它提供项目和子项目中使用的所有依赖项(包括传递性依赖项)的广泛信息。
这个新功能允许轻松检测冲突的依赖关系并解决问题,比如可以过滤掉相同的依赖项,并查看它们在不同库中的存在,还可以快速浏览依赖项,以正确构建配置。
![292f81e45d178f7943f7ea50f429ce1a.png](https://img.php1.cn/3cd4a/1e618/cd5/af17da15769ccb2e.jpeg)
重新设计了新项目 向导界面,以简化创建新项目的过程。可以快速启动一个空项目;使用 Java、Kotlin、Groovy 和 Javascript 的预配置选项;或者有更复杂的项目,请使用生成器。
![a87b13afd494f3219d73d88f5a2a66c9.gif](https://img.php1.cn/3cd4a/1eebe/cd5/43a754c811e7ec5c.webp)
事件日志实例已替换为新的 通知 工具窗口,更清楚地突出重要和有用的建议和通知,并将它们组织在专用工具窗口中。
有关更多详细信息,请参阅博客文章:https://blog.jetbrains.com/idea/2022/01/intellij-idea-2022-1-eap-1/#New_Notifications_tool_window
![349099096dc65021aef8c7cfa361bd69.png](https://img.php1.cn/3cd4a/1eebe/cd5/1113165c4904ecc5.webp)
用户体验
新建项目向导中的 Maven Archetype 优化
作为新建项目向导的 UI 改造的一部分,IntelliJ IDEA 重新设计了 Maven Archetype 项目生成器,2022.1 版本在浏览原型时引入了“键入时搜索”功能,以及在模块创建期间管理原型目录的能力。
![ed92a02617894e076747c578c8e6d3c0.gif](https://img.php1.cn/3cd4a/1eebe/cd5/617c1173853af4b6.webp)
此外,还可以按原型输入所需的属性:
![01c5f6f02a72eaa2259336b64715e778.png](https://img.php1.cn/3cd4a/1eebe/cd5/45a090220e38e09d.webp)
IntelliJ IDEA 2022.1 可以在编辑器选项卡之间平均分配工作空间,使它们具有相同的宽度。
![5481b4dd61a3efd75573086e5aea8e91.gif](https://img.php1.cn/3cd4a/1eebe/cd5/3e641eb5f5c8cd90.webp)
现在可以将 UML 图导出为 yEd .graphml、JGraph .drawio、Graphviz .dot、带位置的 Graphviz .dot、Mermaid .md、Plantuml 和 IntelliJ IDEA .uml 文件,使得它们与第三方工具兼容。
![88fd67b915623eb21165395ec060a9bf.png](https://img.php1.cn/3cd4a/1e618/cd5/af17da15769ccb2e.jpeg)
重新设计了结构搜索和替换对话框,提供所有模板的列表,以便更轻松地在它们之间导航。
![beaf28c59db961715c825acedb50ce8f.gif](https://img.php1.cn/3cd4a/1eebe/cd5/bff2716168d1ed7b.webp)
安全
ntelliJ IDEA 2022.1 现在可以通过检查 Checkmarx SCA 数据库和国家漏洞数据库,来检测项目中使用的 Maven 和 Gradle 依赖项中的漏洞。
![1eba1eddb9f355a6e246554f6fb27140.png](https://img.php1.cn/3cd4a/1eebe/cd5/02c379d60086f382.webp)
Java 支持
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](https://img.php1.cn/3cd4a/1eebe/cd5/21e585a7e21fc7dc.png)
Java 反编译器现在与 Java 17 版本更兼容。它支持现代语言构造函数,例如密封类型和模式匹配,具有更好的字符串反编译切换功能,提供类型注释并检测公共常量。
![b54353bb982a99f0c500873573693414.png](https://img.php1.cn/3cd4a/1eebe/cd5/5b97d3b808d031e2.webp)
添加了对 JUnit 5.7 中引入的新功能的支持,包括对@EnabledIf/DisabledIf
、@NullSource/EmptySource
和@TempDir
注释的支持。
![ce31f8fda95ba34e9a3d53122945e5c8.png](https://img.php1.cn/3cd4a/1eebe/cd5/bcafc120671304eb.webp)
使用 try/catch 模板更新 Surround
更新后的带有 try/catch模板的 Surround 现在重新抛出包装到 RuntimeException 中的异常,而不是吞下它。
![21ead3b686c6345c8c83be46f4c68ed0.gif](https://img.php1.cn/3cd4a/1eebe/cd5/617c1173853af4b6.webp)
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/
优化了包索引,大大提高了 IDE 在执行代码完成、突出显示和与参考搜索等相关操作时的速度,在代码更改后发生的重新索引案例的数量和范围也有所减少。
框架和技术
Go 微服务支持
添加了对 Go 微服务的支持,提供 URL 路径引用、端点、Search Everywhere 和装订线图标等功能。使用这些功能需要在 IntelliJ IDEA Ultimate 中安装 Go 插件,目前仅适用于标准库函数。
IntelliJ IDEA Ultimate 现在为 Go 文件中的 HTTP 方法和标头提供补全,每个端点旁边都会出现一个地球图标,如果单击它,IntelliJ IDEA Ultimate 将建议几个选项。
![9247df56e2daebaafd2ae0d6db1fa5ce.gif](https://img.php1.cn/3cd4a/1eebe/cd5/e88efe5b0a13a7fa.webp)
Spring Data Mongo 的代码洞察改进
引入了许多更新来改善使用 Spring Data MongoDB 的用户体验。IntelliJ IDEA 现在突出显示 JSON 查询,完成运算符和文档字段,并提供从映射实体到 数据库 工具窗口的导航。
![0da51f318ad94e02b4c418e1e90efa74.png](https://img.php1.cn/3cd4a/1eebe/cd5/2d903861d5ad779c.png)
![397f6e72479941fb02034b454f996949.gif](https://img.php1.cn/3cd4a/1eebe/cd5/8343fdbffb0056b5.webp)
更好地支持 .proto 文件
为 .proto 文件引入了一个新的意图操作:为未解析的消息引用添加了缺失的导入语句,添加缺少的导入语句后, IDE 将提供消息引用的补全建议。
![97a4486fdd9954296d0684eb39859ecf.png](https://img.php1.cn/3cd4a/1eebe/cd5/d67981797265d9c7.webp)
gRPC 反射支持
Kubernetes 支持
Kubernetes
编辑集群上的资源
现在可以从编辑器选项卡中修改从集群加载的资源。
![174b388c8b939833150d19a3857e0988.gif](https://img.php1.cn/3cd4a/1eebe/cd5/d05d9dfd09a56332.webp)
kubectl 的自定义路径
如果 kubectl 不在标准位置,现在可以手动配置路径。
![7eaf810e74badcf15f5717105b013ec4.png](https://img.php1.cn/3cd4a/1eebe/cd5/6789f68dabde0aed.png)
转发端口
该版本为 pod 添加了端口转发功能。要转发端口,可以使用工具栏上的图标或选择上下文菜单项。
![2e83ea87f7694c4dc23936136d7a9e4b.gif](https://img.php1.cn/3cd4a/1eebe/cd5/7cccb7e4b6cb5cb8.webp)
服务视图中的 描述资源操作
“服务”视图中的所有资源都有一个新的“描述资源”操作,可以从上下文菜单中调用它或使用工具栏按钮。
![bf2490699902c4125d8bdac2b970d490.png](https://img.php1.cn/3cd4a/1eebe/cd5/bcafc120671304eb.webp)
支持集群中的事件
集群事件现在显示在 服务 视图的单独节点中,提供有关系统中最近事件的数据。
![78d5d95244ac4ec4fab4f13ac814972a.png](https://img.php1.cn/3cd4a/1eebe/cd5/8170a21e8dddfd22.webp)
要查看特定 pod 的事件,请在其上面调用 Describe Resource 并在操作结果中 查找 Events 部分
![21585362315f28273e2cf2e6bebb50e8.png](https://img.php1.cn/3cd4a/1eebe/cd5/8ad8f3bf8da691df.webp)
支持
为 werf.yaml 和相关 Helm 模板文件 ( https://werf.io ) 引入了有限的编辑器支持,包括代码补全功能、检查和快速修复建议、重构/重命名 . Values.werf.image.*,以及一些字段的验证,如 boolean 和 int。
![af22222554611752ff75e1572f2cb9dc.png](https://img.php1.cn/3cd4a/1eebe/cd5/c72d78d7317a9e8e.webp)
![e83786463863bb5a8e305ec2017323b5.png](https://img.php1.cn/3cd4a/94ce/a6e/865776f6fe3d5f59.jpeg)
对 Helm 的导入子值支持
支持通过 import-values 设置导入子值,这些设置影响模板中内置对象的完成/导航。尚未提供对 import-values 字段的增强编辑器支持。
![6d6dae5a1793eaf3c8f002500aaf83c8.gif](https://img.php1.cn/3cd4a/1eebe/cd5/0d80e8a685a9a87b.png)
请注意,Kubernetes 功能仅适用于 IntelliJ IDEA Ultimate,并且需要安装插件。
构建工具
为 Gradle 进程实现了一个确定的进度条,例如下载依赖项和导入工件,允许跟踪文件发生的情况并估计该过程何时完成。
![7d5cf75934030bf512d931f51f836913.gif](https://img.php1.cn/3cd4a/1eebe/cd5/780a3060eeed6a4e.webp)
此版本还包含大量更新项,详情可在更新公告中细阅:https://www.jetbrains.com/idea/whatsnew/#web-development
转自: OSC开源社区(ID:oschina2013)
如有文章对你有帮助,
“在看”和转发是对我最大的支持!
暂时开放微信大号,好友位不多,需要的小伙伴们可以加,朋友圈和交流群里会发一些学习资料、个人见解、白嫖课程等等。
扫描下方二维码即可加我微信啦,2022,抱团取暖,一起牛逼。
![30490d75de5b7a5545baba121d612194.png](https://img.php1.cn/3cd4a/1eebe/cd5/0ef126b5295c089b.webp)