IDEA是目前市场上最好用的IDE,我说的!
前几年eclipse
在市场上非常流行,因此大多数人都习惯了eclipse
的一些快捷键。近年来,随着IDEA
的兴起,很多人都放弃了eclipse
,进而选择了IDEA
,但是有些人习惯将快捷键方式更换成eclipse
的。这里我不建议这样做,熟悉一套快捷键差不多一周时间就够了,直接使用IDEA
默认的快捷键可以体验到更多隐藏的小技巧,下面我们一起来看看这些小技巧。
一、Postfix Completion相关技巧
Postfix Completion
其实就是关于代码补全的一些模板。我们可以在Settings
—>Editor
—>General
—Postfix Completion
中看到他的一些模板。下面我们一起看看常用的一些语法。
if相关
定义一个boolean
类型的变量flag
和一个String
类型的变量name
来进行测试。
boolean flag = true;
String name = "Java旅途";
- 判断条件成立
语法:
代码语言:javascript复制flag.if
效果:
代码语言:javascript复制if (flag) {}
- 判断条件不成立
语法:
代码语言:javascript复制flag.else
效果:
代码语言:javascript复制if (!flag) {}
- 判断条件等于null
语法:
代码语言:javascript复制string.null
效果:
代码语言:javascript复制if (string == null) {}
- 判断条件不等于null
语法:
代码语言:javascript复制string.notnull 或者 string.nn
效果:
代码语言:javascript复制if (string != null) {}
- 使用switch判断
语法:
代码语言:javascript复制string.switch
效果:
代码语言:javascript复制switch (string) {}
- 使用while判断
语法:
代码语言:javascript复制flag.while
效果:
代码语言:javascript复制while (flag) {}
for相关
定义一个String
类型的数组来测试。
String[] param = {"1","2","3"};
- 从第一个元素进行遍历
语法:
代码语言:javascript复制param.fori
效果:
代码语言:javascript复制for (int i = 0; i < param.length; i ) {}
- 从最后一个元素进行遍历
语法:
代码语言:javascript复制param.forr
效果:
代码语言:javascript复制for (int i = param.length - 1; i >= 0; i--) {}
- 增强for循环
语法:
代码语言:javascript复制param.for 或者 param.iter
效果:
代码语言:javascript复制for (String s : param) {}
变量相关
新定义一个User
类,添加name
和age
两个属性用来测试。
public class User {
private String name = "Java旅途";
private int age = 18;
public User() {}
public User(String name, int age) {
this.name = name;
this.age = age;
}
}
- 创建一个对象
语法:
代码语言:javascript复制User.new
效果:
代码语言:javascript复制new User();
- 创建一个局部变量
语法:
代码语言:javascript复制new User().var
效果:
代码语言:javascript复制User user = new User();
- 创建一个全局变量
语法:
代码语言:javascript复制new User().field
效果:
代码语言:javascript复制private User user;
user = new User();
- 强制转换对象类型,假如我们将将Object转换为User
语法:
代码语言:javascript复制new object.castvar
效果:
代码语言:javascript复制User user = (User) new Object();
其他常用
- 返回语句
语法:
代码语言:javascript复制"".return
效果:
代码语言:javascript复制return "";
- 打印语句
语法:
代码语言:javascript复制flag.sout
效果:
代码语言:javascript复制System.out.println(flag);
- 捕获处理异常
语法:
代码语言:javascript复制new User().try
效果:
代码语言:javascript复制try {
new User();
} catch (Exception e) {
e.printStackTrace();
}
- 抛出异常
语法:
代码语言:javascript复制new Exception().throw
效果:
代码语言:javascript复制throw new Exception();
- 给变量加锁
语法:
代码语言:javascript复制string.synchronized
效果:
代码语言:javascript复制synchronized (string) {}
二、inject language
inject language
可以快速帮助我们构建我们所需要的一些语法。比如JSON
、HTML
、XML
等等。
快速定义JSON
如果们自己去定义一个json
字符串则需要手动的去用给
”
转义。我们使用inject language
则可以省去这个步骤。我们定义一个json
的字符串,将光标放在“”
中间,然后按Alt Enter
,出来如下提示后,选择Inject language or reference
。
然后点击Enter
进入后,选择或搜索JSON
后回车。然后继续按Alt Enter
,出来如下提示后,我们选择Edit JSON Fragment
。
回车后,会弹出一个输入框。我们在输入框中写我们的JSON
就可以了,它会自动帮我们转义。
使用html
等其他也是一样的方法,它会自动帮我们补全结束标签。
几个神秘的快捷键
- 快速重命名
Shift F6
- 定位到最近浏览过的文件
Ctrl E
- 定位到最近修改过的文件
Ctrl Shift E
- 查看当前类所有的method
Ctrl F12
- 查看类图
Ctrl Shift Alt U
< END >