idea 快捷键及后缀语法

快捷键

1
2
3
4
5
6
ctrl + alt + v   将光标放在 new Helloworld(); 上,按左边的快捷键自动生成左边代码, 或者在 new Helloworld().var 也可以自动生成左边的代码。
ctrl + alt + l 自动格式化代码
alt + insert 生成构造函数和getset 函数,tostring,override
alt + enter 异常处理解决方案,也可以自动导包
alt + 7 查看文件或类的结构信息
Ctrl + B 查看方法源码的方式

重写toString方法的方式

  • Alt + Insert 选择 toString
  • 在类的空白区域,右键 -> Generate -> 选择toString

重写equals方法的方式

  • alt + insert 选择equals() and hashCode(),IntelliJ Default,一路next,finish即可
  • 在类的空白区域,右键 -> Generate -> 选择equals() and hashCode(),后面的同上。

代码缩写

1
2
3
4
5
sout代码 + tab   自动生成输出 
psvm代码 + tab 自动生成 main 函数
iter代码 + tab 自动生成增强 for 代码
fori代码 + tab 自动 for (int i = 0; i < ; i++) {} 代码
iter 自动生成 for (item : items) {} 代码

后缀法自动生成代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// 一、变量创建
// 创建局部变量 User().var
User user = new User();


// 创建全局变量 User().field
Main.user = new User();


// 创建对象 User.new
new User();


// 类型强转 Object().cast
(User) new Object();


// 类型强转 + 变量创建 Object().castvar
User user2 = (User) new Object();



// 二、类型判断
// .null 直接生成这个:
user.nullif (user == null) {}


// .notnull 等价于 .nn 生成这个:
user.notnull// user.nnif (user != null) { }


//另外如果变量是布尔类型的:可以使用 `.if` 和 `.while`快速生成:
// flag.if
if (flag) { }
// flag.while
while (flag) { }



// 三、输出和返回
// 如果我想输出一个变量,使用`.sout`:flag.sout
System.out.println(flag);

// 我想设置方法的返回值,使用`.return`:flag.return
return flag;


// 四、循环
// 先定义一个数组:
String[] users = new String[5];
//如果我想使用 for 循环遍历它,使用`.fori`:users.fori
for (int i = 0; i < users.length; i++) { }


//同样的道理,增强 for 循环可以使用 `.for`:users.for
for (String s : users) { }


//还有`.forr` 表示逆向遍历:users.forr
for (int i = users.length - 1; i >= 0; i--) { }


//五、异常
//捕捉异常,相信你已经猜到了,对就是`try`,都是语义化的:main().try
try { main();} catch (Exception e) { e.printStackTrace();}


//六、自定义 在 editor --> general --> postfix completion 里面设置

idea 快捷键及后缀语法
https://flepeng.github.io/021-Java-22-idea使用-idea-快捷键及后缀语法/
作者
Lepeng
发布于
2021年3月17日
许可协议