一步一步打造属于你的最强神兵Idea
很久很久以前,那时候还是eclipse
的天下,还有一款收费的MyEclipse
,直到IntelliJ IDEA
横空出世,JetBrains
这家捷克的软件开发公司是真的懂程序员。
不敢说eclipse
已经走向没落,至少IntelliJ IDEA
已经占据了半壁江山。
其实eclipse
也很好用,当年我也装了很多插件,自己创建了很多代码模板,还替换了一个jar
包,代码提示可以和idea
一样,写起代码来,比idea
一点也不差,不过后来还是转向了idea
的阵营。
鲜花少许。
我是一个喜欢鼓捣工具的人,可以说我的idea
是最好用的,就是这么不谦虚🤣
接下来让我带你一起打造属于你的最强神兵Idea
。
快捷键我就不说了,每个人的习惯不同,而且Windows
系统和Mac
系统也不一样。我的大部分快捷键使用的是eclipse
的快捷键🥶
首先是代码模板,又叫 Live Templates
在这里我们可以自定义代码模板,其实很多人都知道,我自定义了几十个,这里说几个我最喜欢的,也是最常用的。
日志相关
写代码避免不了打印日志,可是写日志真的浪费时间啊,而且日志还不能随便写,还要便于追踪。
我使用的是 类名_方法名_变量名
的方式来打印日志。可是这样写下来,能把人累死。
所以我创建了一个log1的代码模板,别忘了配置为Java程序使用的,嫌麻烦就选择所有
log.info("$ClassName$_$MethodName$_$VAR1$:{}", $VAR1$);
$ClassName
这种东西是一个变量,我们还要告诉idea这代表什么意思。
我们点击 Edit variables
,可以编辑变量信息。
可以看到里面有很多表达式
这里讲一下这三个
className()
看名字就知道,就是类名methodName()
看名字也知道,这个是方法名variableOfType("")
这个是让idea
自动推断,自动填入最适合的。
只需要输入log1
就全好了,最后那个是可以根据提示选择的。
为什么叫log1?
因为这是一个变量的,日志一般都会打好几个变量,所以我有log1
–log5
,最多可以支持5个变量。还有这个日志的级别是info
,我还创建了一个log1e
,用来打印error
级别的。
断言相关
Spring
中断言是真的好用,很多时候我们会使用Assert.isTrue()
,如果表达式里面的数据可以自动填充就好了,你想到了什么?
variableOfType("")
这个是让idea
自动推断,自动填入最适合的。
我定义了一个ass1
。 Assert.isTrue($VAR$.size() == 1, "$END$!");
主要用户判断list
的大小。我们要配置一下$VAR$
为variableOfType("")
,$END$
不需要配置参数,它代表的意思是,最后光标的位置,这里我们可以写一些异常信息。
- 还有
assd
,要求大于0
Assert.isTrue($VAR$.size() > 0, "$END$!");
assle
,要求小于0
Assert.isTrue($VAR$.size() <= 0, "$END$!");
assn
,要求不能为空
Assert.isTrue($VAR$ != null, "$END$!");
assnn
,要求为空
Assert.isTrue($VAR$ == null, "$END$!");
asss
,要求字符串不为空
Assert.isTrue(StringUtils.isNotBlank($VAR$), "$END$!");
asst
,要求表达式为true
Assert.isTrue($VAR$, "$END$!");
可以看出大部分场景我都配置了模板,没办法,就是懒啊😂
接口相关
因为使用了Swagger
,每次写接口都要写一堆注解,我配置了两个模板pm
和gm
。
先看gm
gm
就是GET
方式请求的接口。
@ApiOperation("$VAR2$")
@ApiImplicitParams({
@ApiImplicitParam(name = "", value = "", required = true),
})
@GetMapping(value = "/$VAR1$", name = "$VAR2$")
public HttpResult $VAR1$(){
$END$
return HttpResult.success();
}
这里的$VAR1$
和 $VAR2$
也是variableOfType
请求路径和方法名一样,ApiOperation
的value
和GetMapping
的name
也一样。
然后是pm
pm
其实一样的,只不过GetMapping
换成了PostMapping
@ApiOperation("$VAR2$")
@ApiImplicitParams({
@ApiImplicitParam(name = "", value = "", required = true),
})
@PostMapping(value = "/$VAR1$", name = "$VAR2$")
public HttpResult $VAR1$() {
$END$
return HttpResult.success();
}
最后一个:下划线转驼峰命名
很多时候数据库新增了一个字段,可是是使用下划线间隔命名的,我们复制到类里,手动一个个改,很麻烦。
所以我创建了一个模板xscs
,唯一的缺陷是转换后,无法删除之前的,要手动删除之前的,我查了模板里面的变量是不支持删除的。
$SELECTION$$END$$VAR$
变量配置
$SELECTION$
表示是要对选择的字符串转换。
光标前面那一串是我手动删除的🤣
总结
今天先到这里,代码模板是很有用的东西,可以帮我们少做很多重复的工作,如果有一块代码,你经常写,差别又不大,你可以试着把它配置为代码模板。
欢迎大家关注我的公众号,共同学习,一起进步。加油🤣
本文使用 mdnice 排版
今天的文章一步一步打造属于你的最强神兵Idea分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/20289.html