目录
下面以mac为例
1、视图展示
依次点击 Idea -> Preference (或快捷键command + ,) Keymap,在右侧Keymap中下拉选择自己喜欢的快捷键方式,如下图
也可以修改某一个快捷键,如下图
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 高级技巧