阅读 11357

Java效率工具之Intellij IDEA

一直犹豫这一篇要不要写,因为我觉得IDE工具的选择应该是极自由的事,萝卜白菜,各有所爱。说多了可能就会带上个人的主观偏见,所以,本文将采用功能列举的方式,把我使用IDEA中觉得比较好玩好用的地方进行展示和说明。

个人之前也是使用过Eclipse和MyEclipse,后面听朋友介绍IDEA,就花了一个周末的时间来适应IDEA,慢慢也就喜欢上IDEA了,再到后面,Eclipse就再没打开过。IDEA是我用过最好用的IDE。

IDEA是JetBrains公司开发的一款JVM语言的IDE工具,根据官网的描述,是最”智能”的JVM语言开发工具。官网:www.jetbrains.com/idea/.


当时从Eclipse转投IDEA的时候,难度最大的可能就是那些快捷键了,也是花了一两周的时间才完全适应过来。本文并不是为了说服谁,权当是个人的一个归纳总结,有感兴趣的朋友可以循着我列出的这些点去玩玩IDEA,说不定你也会喜欢TA。


1)IDEA的主题细腻,颜值高

最直观的感受就是IDEA的黑色主题真的很漂亮,毫无违和感。直接上图:


不仅如此,还支持更换背景图,放个豪车做做背景更有动力了:


设置方式如下:


不仅如此,IDEA还有着丰富的主题库。奉上地址:

color-themes.com/?view=index

但是IDEA有一点需要吐槽下:对中文字体的渲染比较差,在字体库中找了很久才找到两三种字体是可以接受的。如果各位有好看的字体,欢迎推荐,谢谢。


2)自带反编译器,可以方便的查看源码

在调用JRE或第三方JAR包中的方法时,有时可能不能完全把握方法的使用。直接查看源码,能让我们更放心。同时,不需要引入资源包,这只会额外增加负担。


3)支持结构视图

原生支持结构视图,同时,不仅支持Java类,甚至支持html、js等的结构解析。

如上图的Structure视窗。再放一张JS版的。


4)支持主流数据库的连接及操作

IDEA直接集成了DataGrip,这是JetBrains公司一款数据库客户端软件,支持市面上主流数据库,就个人使用体验来看,操作数据库的效率和智能化完胜navicat、sqlyog等客户端。再也不用在各种工具中切换工作了。


5)Terminal控制台,可以连接Linux服务器

包含Terminal控制台,可以方便执行git maven gradle等指令。

还可以连接远程Linux服务器,真正实现研发运维一体化工作。太棒了。


6)前后端代码一体化工作台

IDEA不仅仅是智能化的后台代码IDE,也是一款优异的前端开发工具。本质上来说,IDEA集成了JetBrains另一款大名鼎鼎的IDE:WebStorm。安装一些必要的插件更是能让前端开发事半功倍。


7)智能化提醒无处不在

IDEA是一款智能的软件,对Spring Boot、Java、Html、JS等等都能做到最大化的智能提示。极大提高了编程效率。智能提醒还体现一点:代码检查。

代码检查能让我们编写出更加高效整洁更加可维护的代码,能在编码过程中实时提示,不需要手动用Findbugs等工具去检测,从侧面也提升了效率。

比如:使用eclipse很容易写出这种代码:

import com.google.common.base.Strings;

/**
 * Created by Liwen.D on 2017-08-04.<br/>
 * DESC: 测试空指针
 */
@SuppressWarnings({"unused"})
public class TestClass {
    private static final String SEPARATOR = "&";

    public static void main(String[] args) {
        String result = concat(args[0], args[1]);
        String upper = result.toUpperCase();
        System.out.println("upper:: " + upper);
    }


    /**
     * 字符串连接
     * @param param1
     * @param param2
     * @return
     */
    private static String concat(String param1, String param2) {
        if (Strings.isNullOrEmpty(param1) && Strings.isNullOrEmpty(param2)) return null;
        else if (Strings.isNullOrEmpty(param1)) return param2;
        else if (Strings.isNullOrEmpty(param2)) return param1;
        return param1 + SEPARATOR + param2;
    }

}复制代码

这段代码可能不太美观,但却能说明问题,我们来看下载IDEA中是怎么显示的,请看下图:

可以看到有很多变黄的块,那是提示处:

1处说明该调用可能存在NullPointerException,因为concat方法可能返回null,2处标志需要填写完整的方法说明。

类似此类的智能警告不胜枚举,同时,IDEA还提供了自动修复的功能。


8)含有丰富的模板,还可以自定义模板

在设置界面,提供了Live Template模板设置功能,可以自定义模板,大大简化重复代码的编写量。


9)和多种框架进行了高效的融合

如:maven、gradle、spring、spring boot等,加快了项目的构建速度。同时,IDEA还支持其他JVM语言的开发,如Kotlin、Goovy、Scala等。


10) 丰富的插件库

IDEA拥有极其丰富的插件库,打开设置界面中的Plugins界面,可以搜索安装各种插件,有实用的,也有好玩的。

也推荐几款插件,可以去把玩把玩:

Translation:翻译插件,看不懂的英文再也难不倒我;

Maven Helper:解析maven pom结构,分析冲突;

Gitee:集成国内的代码托管网站码云;

LiveEdit:对前端更好的支持;

Rainbow Brackets:可以让你的括号更有个性;

RestfulToolkit:可以根据url地址直接定位到接口方法,在微服务场景非常有用。


全文完!