JetBrains IntelliJ IDEA 2022.1引入了依赖性分析
JetBrains发布了IntelliJ IDEA 2022.1,其中引入了依赖分析器,以提供洞察力并改善代码库。可用性和生产力的改进包括inlay提示、从Markdown文件运行命令以及改进的调试和剖析。
新的依赖性分析器功能提供了对项目依赖性的深入了解。有各种新的操作,如分析依赖关系:
/filters:no_upscale()/news/2022/05/jetbrains-intellij-2022-1/en/resources/1Dependency%20analyzer%20action-1651606658015.png)
分析依赖关系行动允许开发者通过选择文件来指定分析范围,以包括Maven的深度跨度依赖关系:
/filters:no_upscale()/news/2022/05/jetbrains-intellij-2022-1/en/resources/1Specify%20Dependency%20Analysis%20Scope-1651606658015.png)
分析结果显示,包括该类对各种库类的依赖性,如 **CarController**类对各种库类的依赖,如 **String**来自Java本身和 RestController的依赖性。除了库之外,该 **CarController**类也依赖于生产类 CarService:
/filters:no_upscale()/news/2022/05/jetbrains-intellij-2022-1/en/resources/1Project%20dependencies-1651606658015.png)
在右边选择一个类,比如说 CarService,显示了该类在左边所选类中的使用情况。 **CarController**类的使用情况。这个概览是可配置的,例如,通过选择显示读取访问或显示写入访问:
/filters:no_upscale()/news/2022/05/jetbrains-intellij-2022-1/en/resources/1Product%20dependencies%20details-1651606658015.png)
分析循环依赖关系动作会自动检测循环,例如在包中的类之间。这个例子显示了 **CarService**类从 **com.example.demo**包中的类依赖于 **Utils**的类。 **com.example.utils**包的类:
/filters:no_upscale()/news/2022/05/jetbrains-intellij-2022-1/en/resources/1Cyclic%20dependency%20CarService-1651606658015.png)
反之亦然。 **Utils**从 **com.example.utils**包依赖于 **DemoApplication**类从 **com.example.demo**包的类:
/filters:no_upscale()/news/2022/05/jetbrains-intellij-2022-1/en/resources/1Cyclic%20dependency%20Utils-1651606658015.png)
通知工具窗口取代了事件日志,显示改进建议和完成的操作:
/filters:no_upscale()/news/2022/05/jetbrains-intellij-2022-1/en/resources/1Notifications-1651606658015.png)
JetBrains改进了*新项目*向导,简化了新项目的创建,更好地支持Maven Archetype的使用:
/filters:no_upscale()/news/2022/05/jetbrains-intellij-2022-1/en/resources/1New%20project-1651606658015.png)
内嵌提示、继承者、使用、代码作者和相关问题都得到了改进,并默认启用,以提供可点击的代码内部信息:
/filters:no_upscale()/news/2022/05/jetbrains-intellij-2022-1/en/resources/1Inlay%20hints-1651606658015.png)
重新设计了结构搜索和替换(SSR)的用户界面和模板浏览。SSR在搜索语法结构的代码模式时考虑了代码结构,可以通过编辑|查找|搜索结构性 或替换结构性找到:
/filters:no_upscale()/news/2022/05/jetbrains-intellij-2022-1/en/resources/1Structural%20search-1651606658015.png)
IntelliJ IDEA Ultimate现在可以检测到脆弱的Maven和Gradle依赖,并提出改进建议。该功能可通过使用Checkmarx软件组成分析的软件包检查器插件获得。
对Markdown的支持得到了改进,除其他外,现在支持直接执行Markdown文件中带有绿色箭头图标的命令:
/filters:no_upscale()/news/2022/05/jetbrains-intellij-2022-1/en/resources/1Run%20command%20from%20Markdown-1651606658015.png)
现在支持 Java 18中发布的新特性,如JEP 413,Java API文档中的代码片段,以及JEP 420,开关的模式匹配(第二预览版)。
新的Surround与try/catch模板现在重新抛出了一个被包装成的异常。 RuntimeException,Java反编译器兼容Java 17和JUnit 5注解。 @EnabledIf, @DisabledIf, @NullSource, @EmptySource, **@TempDir**现在支持。
Kotlin支持现在包括Kotlin 1.6.20,改进了性能和调试器,Kover插件现在提供代码覆盖。
IntelliJ IDEA Ultimate的剖析器现在结合了Async Profiler和Java Flight Recorder。
IntelliJ IDEA 2022.1的所有变化的完整概述可在JetBrains网站的新内容部分找到。