现代的JVM语言例如Kotlin,Groovy,Scala等都提供了许多的语言特性来让你使用更简洁的方式来编写代码。总结来说,现代的JVM语言中的表达方式不外乎*类型推断*、*属性*,*字符串插值*、*范围操作*、*元数据处理*、*操作符增强*、*智能类型转换*等等。Java自从Java 8开始也引入了Lambda语法等,使得代码更简洁而更具表现力。

用过Intellij IDEA的同学都知道,在Java 8之前,IntelliJ IDEA使用了它的折叠特性来模拟lambda语法,使代码更具可读性:

 

当你点击左边的展开或者鼠标移动到被折叠的代码上的时候,你会看见:

 

当你使用的是Java 7或者以前的版本。 IntelliJ IDEA会折叠类似上面的代码,以便更好阅读。

由于我个人是Kotlin的忠实粉丝,但是每天都要编写大量的Java,所以需要扩展IDE的折叠功能,以模拟其他一些现代语言的功能来消除代码的冗长。

因此。在这篇博文中,我想简单地分享一些最有趣的功能。并且在文章的最后会把这个东西分享给大家——它其实就是一个IDEA的插件。

字符串插值

在日常开发中,我们经常会看到这样的代码:

 

其实如果Java提供了字符串插值之后,代码应该就是这样的:

 

这样看起来是不是比Java原来的简单的多了。这个插件做到了。

连接字符串

我们来看这一个例子:

 

上面的代码我们很常見吧,当我们使用这个插件之后。我们打开一个文件,看到的是:

 

是不是清爽很多。

分割字符串和列表

再来看这个例子:

 

这里我们要求添加一个子串,如果Java提供了Python提供的分片操作的话?

如果您在插件中启用相应的选项,您将获得Java代码中显示如下:

 

当然如果你觉得这个看起来还不如你原来的好看,可以关掉这个选项。

变量声明

下面我们来看这个例子:

 

上面的代码中有大量的int的类型,所以都是可变的变量。看起来的确是有那么一点点难受。而假设能让Java有类型推断的功能的话。代码就可以变成这样的模式:

 

仔细对比上下是不是清爽很多。

## For循环

for循环应该是我们代码中很经常遇到的代码块。并且读起来真心是很蛋疼。例如下面的一个代码片段:

 

使用了这个插件之后就变成了:

 

## Equal

再来一个例子:

 

上面是很多IDE没人的equal生成的样子。大家应该很熟悉这个。使用了这个插件之后,就变成下面的样子:

 

当然同理,not equal的情况下是这样子的:

 

还有好多好多的很酷的样子适合大家来使用。当然。使用这个插件你编写的代码还是原来的Java代码。只是在可读性上面比较好点。这个插件仅仅适用于都代码。大家如果要真的写成这样的话。Scala或者Kotlin是不二法则。

说了这么多:大家一定很好奇什么插件吧。大家在IDEA的插件中心搜索 advanced java folder就有了。如果大家对于这个插件有什么看法的话可以随时留言。希望大家多交流。


 

 

一款让你眼前一亮的Java插件_插值