查看原文
其他

IntelliJ IDEA 2021.2 正式发布,难道要干掉 FindBugs、阿里 Java 代码检查插件?

点击关注👉 Java面试那些事儿 2021-12-16

大家好,我是D哥

点击关注下方公众号,Java面试资料 都在这里

IntelliJ IDEA 2021.2 正式发布啦!快来看看有哪些更新内容是你感兴趣的吧~

# 关键更新


  • 新的项目范围的分析允许开发者在编译前跟踪整个小型或中型项目的错误,这个功能只能够在 IntelliJ IDEA Ultimate 中使用,该功能势必要干掉FindBugs、阿里 Java 代码检查插件

  • IntelliJ IDEA 增加了几个操作,当你保存项目时,IDE 将启动这些操作,包括重新格式化代码和优化导入等。所有这些操作都能在偏好/设置|工具|中找到;

  • 现在,通过新的软件包搜索用户界面,可以轻松管理 Maven 和 Gradle 的依赖关系。你还可以查看是否有任何依赖的版本更新,并从编辑器中直接升级。


# 编辑器



# Java


  • 你可以用不同的方式标记公共、保护和私有的 Java 成员(方法、字段、类)。要配置这个,请到 首选项/设置/编辑器/颜色方案,并展开可见性节点;

  • 引入了一个新的两步式 JavaFX 项目向导;

  • 添加了一系列新的检查来处理数据流分析中的特定用例,包括跟踪更新方法的浮点范围或集合大小等。


# Kotlin


  • Kotlin 代码补全现在默认是基于机器学习机制工作的;

  • 你不必等待代码分析完成后再运行测试,因为现在你可以在打开文件后立即通过点击运行测试图标启动测试;

  • Coroutines 代理现在可以通过调试工具窗口中的 Coroutines 标签使用。它适用于依赖 kotlinx.coroutines 的 Java 运行配置以及 Spring 和 Maven 运行配置;

  • 运行/调试配置相关的按钮在索引期间处于激活状态,这意味着即使在 IDE 对项目进行索引时,你也可以运行和调试你的应用程序;

  • 为 Kotlin 引入了 WSL 2 支持和 Run Targets 功能;

  • 当IntelliJ IDEA调用集合内链中的方法时,可以使用一种新的检查方法来简化语法,并将多个调用合并为一个。


# JavaScript(仅限 IntelliJ IDEA Ultimate)


  • IntelliJ IDEA 现在可以同时重命名 useState 值和函数。


# 用户体验

  • 可以从欢迎屏幕上的专用文件夹中直接打开存储在设备上的 Eclipse 项目,因为 IntelliJ IDEA 现在可以自动检测到此类项目;

  • 特定用途的选项现在可以在 首选项/设置中新的高级设置节点中使用;

  • IntelliJ IDEA 自动清理任何最后更新超过 180 天的缓存和日志目录;

  • 如果你的项目缺少一个用于特定框架的插件,IDE 会提醒你并提供启用它的机会;IDE 会在 Toolbox App 1.20.8804 或更高版本中提供产品更新通知;

  • 在这个版本中,我们在使用上下文菜单、弹出式窗口和工具栏时消除了 UI 块,并将某些需要索引的操作移出了 UI 线程;

  • 通过在窗口的右上角添加箭头,简化了首选项/设置中的来回导航;

  • 当你在浏览器中预览HTML文件时,IDE将自动显示HTML文件或链接的CSS和JavaScript文件中已保存的更改。


# Scala

  • Scala 3的支持得到了显著改进。索引更快、更精确,现在可以创建sbt和基于.idea的Scala 3项目。除了Scala 3 sdk,Scala 2项目支持Scala 3结构(-Xsource:3),并添加了许多其他改进;

  • 可以使用基于编译器的错误高亮显示来避免错误报告。请注意,尽管基于编译器的方法更精确,但它速度更慢,需要更多资源,而且不支持类型差异、快速修复和检查等特性。


# 分析器(仅限IntelliJ IDEA Ultimate版)

  • IntelliJ IDEA现在完全支持Windows和Apple M1上的分析器,除了Linux和非M1 macOS,这意味着可以在大多数环境中使用它;

  • IDE支持Async Profiler 2.0,它结合了CPU和Allocation Profiler的强大功能,通过新的Async Profiler配置工作;

  • “retain Objects”选项卡现在解释日出图中所选项目的数据。


# 构建工具

  • 可以在使用自定义JDK时添加新的JLink构件了;

  • 可以在WSL 2中执行Ant任务;

  • Gradle的运行/调试配置已经被重做; 基本参数已被收集,你可以根据需要添加更多选项。

  • 提高了WSL 2中项目的索引速度。


# 版本控制

  • 可以在提交应用的更改之前对其运行测试;

  • 所有预提交检查的进度和结果都显示在Commit区域中;

  • 在IntelliJ IDEA 2021.2中,你可以使用GPG来启用Git提交签名,以确保提交的安全性。

  • 在新项目中存储未提交更改的节点现在被称为changes,而不是Default变更列表;此外,Git操作不再需要自动创建更改列表;

  • 默认情况下,Show Diff操作在编辑器中打开专用窗口;

  • 在本地历史修订中找到文本-只需在搜索字段中输入你的查询。


# 终端

  • 在内置终端中有两个新选项:光标形状选择和Option(⌥)键作为元修饰符与其他键组合的能力。


# 调试器

  • 预览选项卡可以在调试器中工作。如果开启了这个特性,那么当你在断点处停止、逐步执行代码、在帧之间导航或使用“prev/next frame”动作时,IDE会在一个选项卡中依次打开文件。


# 框架和技术(仅限IntelliJ IDEA Ultimate版)

  • 在端点工具窗口中,你可以调用一个微服务关系图,该关系图显示了微服务交互,并允许你跟踪哪个客户端调用了特定的服务,并在代码中导航到这个调用。如果你使用Spring、Micronaut、Quarkus或Helidon框架,则可以在Java和Kotlin项目中使用该图表;

  • 使用新的migrate重构,轻松地将项目或模块从Java EE迁移到Jakarta EE;

  • 创建一个新的Spring Initializer项目,IDE将自动下载共享索引;

  • 可以使用@NamedEntityGraph注释来定义实体图。此注释的属性可以使用代码完成、错误检测和导航;

  • 我们已经为Micronaut和Quarkus添加了缓存注释支持。你可以通过gutter图标在缓存名称用法之间导航,使用Find用法,并为缓存标识符使用Rename重构;

  • JavaScript和TypeScript中的URL导航在客户端(Angular或Axios)和服务器端(Express)代码中都得到了显著改进;

  • 协议缓冲区插件与IntelliJ IDEA Ultimate捆绑在一起,并且JetBrains团队完全维护它;

  • IntelliJ IDEA Ultimate现在支持gRPC框架;

  • 可以从欢迎屏幕创建一个新的Ktor项目;IntelliJ IDEA Ultimate支持这个框架开箱即用。


# 空间集成

  • 可以在Git工具窗口的Log选项卡中使用Space作业状态图标。单击这些图标将调用一个带有作业自动化信息的弹出窗口;

  • 当你在进行空间代码评审时,可以通过@来提到你的队友了;

  • IDE在Details选项卡中选择的代码评审中显示相关的分支。


# 代码与我

  • 当你在Code With Me会话期间使用跟随模式时,你可以看到你跟随的人使用的代码完成建议;

  • 修改后的撤销逻辑使来宾和主机都可以逆转代码中各自的更改。这种改进在结对和mob编程场景中特别有用;

  • 在v2021.2中,参与者可以从他们的计算机屏幕上共享应用程序窗口,而不仅仅是JetBrains IDE;

  • 现在可以通过集成的代理与参与者共享特定的开放端口。


# 数据库工具(仅限IntelliJ IDEA Ultimate版)

  • 可以基于真实数据源生成DDL数据源;DDL文件将在本地创建,新的数据源将基于它们。

  • 现在你可以定义哪些操作使服务工具窗口出现在Preferences/Settings中| Tools | Database | General;

  • 代码完成现在适用于MongoDB控制台中各种类型的字段和操作符。


# QA工具

  • 新的Test Data插件带来了许多有用的操作,以帮助你为单元测试生成随机数据。


# 码头工人

  • 可以通过SSH连接到Docker;

  • 容器日志具有显示时间戳和以前会话的选项;

  • 容器的新操作按钮可以让你快速启动、暂停、取消暂停和重新启动它们。你可以一次将这些操作应用到多个容器。

  • 可以指定想要去掉哪些依赖项,保留哪些。

  • 在“服务”工具窗口中新增两个节点:“网络”和“卷”。


# Docker Compose实现了几个新特性


  • 通过单击编辑器窗口中的循环箭头图标,你可以在服务工具窗口中显示Docker Compose应用程序,即使它们没有运行;

  • 新的图标可以帮助你检测服务处于何种状态,工具提示会提示你每个图标的含义;

  • 每个服务节点现在都有一个日志;

  • 在Docker撰写运行/调试配置中添加了更多选项,包括启用BuildKit、启用兼容模式和指定项目名称;

  • 添加了对Docker Compose文件格式的版本3的支持。


# Kubernetes(仅限IntelliJ IDEA终极版)

  • 在IntelliJ IDEA 2021.2中,引入了对别名字段的完全支持,该字段属于Chart中的dependencies部分。Yaml (api v2)或在需求。yaml v1 (api)。

  • 如果没有对所有集群名称空间的访问权限,可以定义自己的名称空间。

  • 可以选择喜欢的名称空间,这将自动将它们放在列表的顶部。


# 其他

  • 享受完全本地化的IntelliJ IDEA界面,包括中文、韩文和日文;本地化是一个非绑定的语言包插件,可以很容易地安装在IDE中;

  • Android插件升级到v4.2.0;

  • 分解了以下插件:资源包编辑器、Drools、JSP调试器支持、CoffeeScript、Spring Web Flow、Spring OSGI、Arquillian、AspectJ、Guice、Helidon、Emma和EJB。


# 显著的修复

  • 修正了单击“下载Maven项目的源代码”时出现的错误;

  • 支持.mvn / jvm;配置以定义Maven构建的JVM配置;

  • 修正了一些对话框中的Esc键行为;

  • 工具窗口在Linux上通过鼠标点击打开;

  • 改进了覆盖性能,现在它与JaCoCo一样快;

  • 修正了.properties文件中的错误编码;

  • IDE会自动删除空的scratch文件;

  • 修复了在删除配置并重新启动后,在插件迁移对话框中导致IDE冻结的问题;

  • 修正了从WSL 2目录中的现有源创建新Maven项目时的NullPointerException问题;

  • 修正了导致确认对话框显示不正确的问题;

  • 当你提取一个常量并勾选“替换所有事件”复选框时,IDE将记住此状态,并在下次应用此重构时保留所选内容;

  • 修复了Kotlin代码中影响变量评估的几个问题;

  • Kotlin对象在Variables视图中正确显示;

  • 修复了使用身份验证代理时中继服务器连接不正常的问题。


更多详情请查看:https://blog.jetbrains.com/idea/2021/07/intellij-idea-2021-2/



技术交流群


最后,D哥也建了一个技术群,主要探讨一些新的技术和开源项目值不值得去研究及IDEA使用的“骚操作”,有兴趣入群的同学,可长按扫描下方二维码,一定要备注:城市+昵称+技术方向,根据格式备注,可更快被通过且邀请进群。


▲长按扫描


热门推荐:

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存