IDEA是目前市场上最好用的IDE,我说的!
前几年eclipse在市场上非常流行,因此大多数人都习惯了eclipse的一些快捷键。近年来,随着IDEA的兴起,很多人都放弃了exlipse,进而选择了IDEA,但是有些人习惯将快捷键方式更换成eclipse的。这里我不建议这样做,熟悉一套快捷键差不多一周时间就够了,直接使用IDEA默认的快捷键可以体验到更多隐藏的小技巧~下面我们一起来看看IDEA都有哪些奇淫小技巧。
一、Postfix Completion相关技巧
Postfix Completion其实就是关于代码补全的一些模板。我们可以在Settings——>Editor——>General——Postfix Completion中看到他的一些模板。下面我们一起看看常用的一些语法。
if相关
定义一个boolean类型的变量flag和一个String类型的变量name来进行测试。
代码语言:txt复制boolean flag = true;
String name = "Java旅途";
- 判断条件成立
语法:
代码语言:txt复制flag.if
效果:
代码语言:txt复制if (flag) {}
- 判断条件不成立
语法:
代码语言:txt复制flag.else
效果:
代码语言:txt复制if (!flag) {}
- 判断条件等于null
语法:
代码语言:txt复制string.null
效果:
代码语言:txt复制if (string == null) {}
- 判断条件不等于null
语法:
代码语言:txt复制string.notnull 或者 string.nn
效果:
代码语言:txt复制if (string != null) {}
- 使用switch判断
语法:
代码语言:txt复制string.switch
效果:
代码语言:txt复制switch (string) {}
- 使用while判断
语法:
代码语言:txt复制flag.while
效果:
代码语言:txt复制while (flag) {}
for相关
定义一个string类型的数组来测试。
代码语言:txt复制String[] param = {"1","2","3"};
- 从第一个元素进行遍历
语法:
代码语言:txt复制param.fori
效果:
代码语言:txt复制for (int i = 0; i < param.length; i ) {}
- 从最后一个元素进行遍历
语法:
代码语言:txt复制param.forr
效果:
代码语言:txt复制for (int i = param.length - 1; i >= 0; i--) {}
- 增强for循环
语法:
代码语言:txt复制param.for 或者 param.iter
效果:
代码语言:txt复制for (String s : param) {}
变量相关
新定义一个User类,添加name和age两个属性用来测试。
代码语言:txt复制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;
}
}
- 创建一个对象
语法:
代码语言:txt复制User.new
效果:
代码语言:txt复制new User();
- 创建一个局部变量
语法:
代码语言:txt复制new User().var
效果:
代码语言:txt复制User user = new User();
- 创建一个全局变量
语法:
代码语言:txt复制new User().field
效果:
代码语言:txt复制private User user;
user = new User();
- 强制转换对象类型,假如我们将将Object转换为User
语法:
代码语言:txt复制new object.castvar
效果:
代码语言:txt复制User user = (User) new Object();
其他常用
- 返回语句
语法:
代码语言:txt复制"".return
效果:
代码语言:txt复制return "";
- 打印语句
语法:
代码语言:txt复制flag.sout
效果:
代码语言:txt复制System.out.println(flag);
- 捕获处理异常
语法:
代码语言:txt复制new User().try
效果:
代码语言:txt复制try {
new User();
} catch (Exception e) {
e.printStackTrace();
}
- 抛出异常
语法:
代码语言:txt复制new Exception().throw
效果:
代码语言:txt复制throw new Exception();
- 给变量加锁
语法:
代码语言:txt复制string.synchronized
效果:
代码语言:txt复制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