JetBrains 发布 IntelliJ IDEA 2021.1
JetBrains已经发布IntelliJ IDEA 2021.1,其特点是支持Java 16,一个新的预览功能可以即时渲染HTML变化,并支持Windows Subsystem for Linux(WSL)2。还可以在Docker、WSL 2或通过SSH运行应用程序。其他各种改进包括对Docker、Kubernetes、Kotlin、Git和其他的支持。
IntelliJ支持的一个新的Java 16特性是能够在内部类中声明静态成员。
public class OuterClass {
class InnerClass {
static final String STATIC_MESSAGE = new String("Works in Java 16")。
静态字符串staticMethod() {
返回STATIC_MESSAGE。
}
}
传统的Java bean类文件可以转换为Java records。当所有字段都被声明为**final
时,这可以自动完成。例如,下面显示的Student
**类,通过在类名上按ALT-Enter,选择Convert to a record,就可以转换为记录。
public class Student {
private final String firstName;
public Student(String firstName) {
this.firstName = firstName;
}
public String firstName() {
返回firstName。
}
}
public record Student(String firstName) {
}
记录没有明确的getter方法,例如 Student
类中显示的 firstName()
方法。然而,如果一个类包含一个getter方法,例如 getFirstName()
,那么生成的记录也会有**getFirstName()
**方法。
也可以搜索所有可能被转换为记录的合格类。在记录不提供所需功能的情况下,可以使用从记录到类的转换。
对于 instanceof
操作符的模式匹配一直是一个两步的过程。首先,instanceof
被用来检查其参数是否为正确的类型,其次,对象被转换为该特定类型。Java 16 的 模式匹配 消除了铸造的需要,IntelliJ可以取代旧的模式匹配风格并删除铸造。
IntelliJ IDEA支持新的Java 16 toList()
方法,并在 Stream
接口实例的代码完成中首先显示它。
现在只要数组或条件的大小为负数,就会显示警告。当 Collection.toArray()
方法被错误地使用时,会显示另一个警告,以避免可能出现的ClassCastException
。
新的 HTML预览 功能可以通过点击IntelliJ的图标打开,如下图所示。对HTML、CSS和JavaScript的修改会立即显示在预览窗口中。
Run Targets是IntelliJ IDEA的一个终极功能,它提供了在目标上运行、测试和调试应用程序的能力。通过Run Targets,可以在Docker、SSH和WSL上运行Java应用程序、JUnit测试、Maven、Gradle、Micronaut、Spring Boot和Quarkus(基于Maven)项目。
IntelliJ IDEA现在可以检测WSL 2中安装的JDK,如果有必要,可以下载并安装JDK。一旦安装完毕,WSL 2里面的Java项目就可以被IntelliJ IDEA构建系统编译和运行。WSL 2目录下的Maven或Gradle应用 \wsl$
可以在 IntelliJ 中使用。
可以为自定义信息创建自定义Git提交模板。 运行检查使得在提交前分析代码成为可能。通过与分支比较选项,选择文件并点击向下的箭头,可以将一个文件从一个分支复制到另一个分支。
现在支持使用Goessner或Jayway语法的JSONPath表达式,可以通过Edit | Find | Evaluate JSONPath Expression进行测试。选择一个JSONPath表达式并按Alt+Enter可以用来评估JSONPath表达式。这个新版本还支持带分隔符的JSON文件,如 .jsonl
, .jslines
, .ldjson
和.ndjson
。
Docker的可用性通过在IntelliJ的配置窗口和Docker文件中的镜像名称中引入代码完成而得到改善。容器可以根据Docker文件启动,现在也可以通过点击 Stop Deploy 停止它。
在一个多阶段的Docker文件中,每个阶段都会显示一个锤子图标,只构建该阶段。在Run/Debug配置中添加Run部分后,图标会改变,它将构建一个镜像并运行一个容器。
Kubernetes资源可以通过打开配置文件并点击Run图标来删除。 kustomize
,谷歌为Kubernetes提供的无模板YAML工具,在3.7.0版中引入了组件,它们可以通过Settings/Preference | Languages & Frameworks | Kubernetes 配置所需的 kustomize
版本在IntelliJ中使用。
Kotlin的代码分析速度和代码补全得到了改进。引入了关于不适当的阻塞方法调用的警告,还修复了Kotlin的语言注入功能的问题。
更新了HTTP客户端的用户体验和用户界面,可以选择复制响应主体而不复制响应的其余部分。现在可以通过点击添加环境文件,然后点击私有来实现对客户端认证的SSL支持。
其他新功能包括:
- 链式方法调用的格式化规则可以通过 设置|编辑器|代码风格|Java|包装和大括号|链式方法调用 进行配置。
- 一个新的保存到书架动作: 将用户的修改保存在书架上,同时也将它们保存在本地修改中。
- 在Windows上,可以通过右键点击IntelliJ IDEA图标来打开最近的项目。
新功能的更多细节可以在 IntelliJ IDEA 2021.1 页面的 what's new 部分找到。
IntelliJ IDEA最初于2001年1月推出,在全球有超过400万开发者使用。JetBrains最近庆祝20周年,对过去20年的所有亮点进行了回顾。