这也是最近发现的超好用的快捷功能,先来看一张图:
可以看到从par开始,下面所有的选项都是快捷方式。这篇主要就说这些内容。
- par:parenthese,表示圆括号。选它就会出现一个括号的选项将这一行代码之前的内容括起来。在一些逻辑表达式中,这个选项就比较有用了,在有多种可能时,选择了par,IDE会自动提示让你选择准备选择哪些表达式进行括号操作:
- field:成员变量,选择field时,IDE会自动选择对应的类生成成员变量,并在方法中将该表达式补全。
如果是static方法,那么成员变量就自动为static;如果方法是普通方法,成员变量就是普通成员变量。在遇到一些方法中,需要新建成员变量时,这个快捷键就会为我们节省不少时间。
- null和notnull(或者nn):判空和判非空
- sout,soutv,souf:标准输出,带字段说明的标准输出,准备好字段说明设置的标准输出
如果说单纯的sout并不是多么提升效率,因为用顺手了这个快捷键的话,先打sout后在括号中输入变量或者内容的耗时,和先打变量再点选sout的速度是差不多的。但是我们经常会在做些测试的时候打印变量,同时打印出变量的名称,这个时候soutv和souf就很有用了:
- cast,castvar:类型转换
前者只是准备好括号,后者直接把括号和表达式准备好,待你输入想转换的类时,整个表达式就完成了。前者适合在表达式中转换时使用,后者适合写转换表达式时使用。这里只是举例:
- try:异常
为啥要单独说这个呢,因为手打和自动补全差的效率太多了。以前都是手动打出来,或者是设置快捷表达式,但是这个自带的其实是非常好用的!
- switch,return,synchronized:
这几个关键词对应的就是关键词+括号变量+大小花括号,很好理解,我试了一下,确实是要比打出关键词,再打变量,再打花括号要快一些。只是临场能不能想到的问题。虽然说只是快了一点点,但长期打下来的话,应该还是能为我们节省不少时间的。
- lambda,opt:
这两个是lambda表达式和Optional.ofNullable,jdk1.8之后,也是高频出现在代码中的。
- not,if:逻辑取反,逻辑if表达式
以上只是字符串的智能补全,并不能显示更多其他变量的补全提示。我们可以看一个逻辑表达式的取反情况:
- for/iter,fori,forr:
循环体,这个绝对高频,一个foreach,一个正序增长的fori,一个逆序降低的forr。集合,数组都有这个提示。
如果对这些快捷方式还不是很适应,可以刻意练习一下,时间一久形成了固定的意识了,自然会越用越熟练,提升效率。