Java编程工具(3-1):idea快捷键

目录

1、视图展示

2、自己常用命令

1、Command+E

2、Ctrl+Shift+V

3、Inject language

4、 去掉导航栏

5、把鼠标定位到project视图里 

6、alt+f7

7、变量声明

8、null,nn,notnull

9、.not.if

10、fori、 forr

11、.inst

12、控制台输出sout 和 soutv

13、多线程同步

14、try-catch

15、psf 和 prsf

16、jsontoJavaBean


下面以mac为例

1、视图展示

 依次点击 Idea -> Preference (或快捷键command + ,) Keymap,在右侧Keymap中下拉选择自己喜欢的快捷键方式,如下图
这里写图片描述

也可以修改某一个快捷键,如下图
图1图2

2、自己常用命令

其中:mac下

alt = fn+option

home = fn + ⬅️

1、Command+E

弹出最近使用的文件

2、Ctrl+Shift+V

弹出View视图,然后选择Enter Presentation Mode【演出模式】

3、Inject language

如果你使用IDEA在编写JSON字符串的时候,然后要一个一个\去转义双引号的话,就实在太不应该了,又烦又容易出错。在IDEA可以使用Inject language帮我们自动转义双引号。

这里写图片描述
先将焦点定位到双引号里面,使用alt+enter快捷键弹出inject language视图,并选中
Inject language or reference。

这里写图片描述

选择后,切记,要直接按下enter回车键,才能弹出inject language列表。在列表中选择 json组件。

这里写图片描述
选择完后。鼠标焦点自动会定位在双引号里面,这个时候你再次使用alt+enter就可以看到

这里写图片描述 
选中Edit JSON Fragment并回车,就可以看到编辑JSON文件的视图了。

这里写图片描述
可以看到IDEA确实帮我们自动转义双引号了。如果要退出编辑JSON信息的视图,只需要使用ctrl+F4快捷键即可。

4、 去掉导航栏

平时用的不多,可以把红色的导航栏去掉,让IDEA显得更加干净整洁一些。使用alt+v,然后去掉Navigation bar即可。

è¿éåå¾çæè¿°去掉这个导航栏后,如果你偶尔还是要用的,直接用alt+home就可以临时把导航栏显示出来。

这里写图片描述

如果想让这个临时的导航栏消失的话,直接使用esc快捷键即可。

5、把鼠标定位到project视图里 

当工程里的包和类非常多的时候,有时候我们想知道当前类在project视图里是处在哪个位置。

这里写图片描述
上面图中的DemoIDEA里,你如何知道它是在spring-cloud-config工程里的哪个位置呢?
可以先使用alt+F1,弹出Select in视图,然后选择Project View中的Project,回车,就可以立刻定位到类的位置了。

 这里写图片描述

 那如何从project跳回代码里呢?可以直接使用esc退出project视图,或者直接使用F4,跳到代码里。

6、alt+f7

展示哪些地方调用了某个方法

使用ctrl+alt+h要小心
ctrl+alt+h非常好用,但是有个坑,当同一个方法里,调用某个方法多次的时候,比如说下面的代码:

public class TestService {
    public void test1() {
        System.out.println("aa");
    }
    public void test2() {
        test1();
    }
    public void test3() {
        test1();
        //无数业务操作后,再次电影test1()方法
        test1();
    }

如果我们想知道有哪些地方调用了test1()方法,使用ctrl+alt+h无法正确列出来的。因为ctrl+alt+h只能告诉你调用的层次。

这里写图片描述
ctrl+alt+h只是会在某个隐蔽的地方,告诉你,test3()方法调用了test1()方法两次。这样就很容易坑到开发者,因为大部分人可能不太注意后面的调用次数,导致改bug的时候,以为全部都改了呢?

 如果你想精确的列出到底哪些地方调用了test1()方法,你需要使用alt+f7这个快捷键。

这里写图片描述

尤其是我们在阅读极其复杂的业务代码时,使用alt+f7就非常合适。

当然alt+f7也可以作用在变量上,列出某个类里,哪些地方使用了该变量。

7、变量声明

“aa".var  后点回车    Object aaa = "aa";

8、null,nn,notnull

a.null   后点回车

if (a == null) {
}

a.nn    后点回车

if (a != null) { }

9、.not.if

List list = Lists.newArrayList();
list.not.if 点回车
if (!CollectionUtils.isEmpty(list)) {
    
}

10、fori、 forr

List list = Lists.newArrayList();
list.fori 点回车
for (int i = 0; i < list.size(); i++) {
}
for (int i = list.size() - 1; i >= 0; i--) {
}

11、.inst

List list = Lists.newArrayList();
list.inst 点回车
List l = list instanceof List ? ((List) list) : null;

12、控制台输出sout 和 soutv

sout 点回车

System.out.println();

“a".soutv 点回车

System.out.println("\"a\" = " + "a");

13、多线程同步

Object a = "1";

a.sync 点回车

synchronized (a){
}

14、try-catch

Object a = "1";

a.try 点回车

try {
    a
} catch (Exception e) {
    e.printStackTrace();
}

15、psf 和 prsf

public static final 

private static final 

16、jsontoJavaBean

在线JSON转Java Bean代码工具 - 代码工具 - 脚本之家在线工具

参考:

Intellij IDEA神器居然还有这些小技巧_Sam_Deep_Thinking-CSDN博客_idea 技巧

Intellij IDEA神器那些让人爱不释手的小技巧_Sam_Deep_Thinking-CSDN博客_idea 高级技巧

掘金

掘金


版权声明:本文为mingyuli原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。