目录
二、配置、使用技巧、常用快捷键2.1 常用的快捷键总结2.1.1 MAC中IntelliJ IDEA快捷键 2.2 实时代码模板2.3 inject language2.4 批量修改2.5 symbol,模糊查找,只记得某几个字母2.6 自动生成not null判断语句2.7 本地历史版本2.8 代码调试2.9 各种插件 三、使用要求3.1 不允许出现魔法值二、配置、使用技巧、常用快捷键
推荐下文的基本配置和快捷键总结
,另外编码效率方面讲的也十分不错。
常用的配置可见:配置
IEDA各种功能介绍和使用讲解
IntelliJ IDEA神器使用小技巧
2.1 常用的快捷键总结
快捷键大全
2.1.1 MAC中IntelliJ IDEA快捷键
快捷键组合(工具相关)
快捷键组合(调试相关)
2.2 实时代码模板
这个太好用了。Settings——Editor——Live Templates中可以看到
常用的有,持续记录更新:
2.3 inject language
如果你使用IDEA在编写JSON字符串的时候,然后要一个一个\去转义双引号的话,就实在太不应该了,又烦又容易出错。在IDEA可以使用Inject language帮我们自动转义双引号。
先将焦点定位到双引号里面,使用alt+enter快捷键弹出inject language视图,并选中 Inject language or reference。
选择后,切记,要直接按下enter回车键,才能弹出inject language列表。在列表中选择 json组件。
选择完后。鼠标焦点自动会定位在双引号里面,这个时候你再次使用alt+enter就可以看到
选中Edit JSON Fragment并回车,就可以看到编辑JSON文件的视图了。
可以看到IDEA确实帮我们自动转义双引号了。如果要退出编辑JSON信息的视图,只需要使用ctrl+F4快捷键即可。
2.4 批量修改
首先是使用ctrl+w选中rabbitTemplate这个文本,然后依次使用5次alt+j快捷键,逐个选中,这样五个文本就都被选中并且高亮起来了,这个时候就可以直接批量修改了。
2.5 symbol,模糊查找,只记得某几个字母
如果你依稀记得某个方法名字几个字母,想在IDEA里面找出来,可以怎么做呢?
直接使用ctrl+shift+alt+n
,使用symbol来查找即可。
比如说:
你想找到checkUser方法。直接输入user即可。
如果你记得某个业务类里面有某个方法,那也可以使用首字母找到类,然后加个.,再输入方法名字也是可以的。
2.6 自动生成not null判断语句
当我们使用rabbitTemplate. 后,直接输入notnull并回车,IDEA就好自动生成if判断了。
2.7 本地历史版本
2.8 代码调试
视图模式:(1)Presentation Mode - 演示模式,专门用于Code Review这种需要展示代码的场景。使用方法alt + V
弹出View,然后选择Enter Presentation Mode
,之后,可以在view中选择Exit Presentation Mode
。但是完全没必要退出,因为当你对IDEA足够熟悉的时候,可以在演示试图中做任何事情。
在演示模式中,可以使用快捷键进行操作,更加方便。
(2)Distraction Free Mode - 禅模式
条件断点强制返回
在打断点的方法栈处,强制返回你想要的方法返回值给调用方。模拟异常
IDEA 可以在打断点的方法栈处,强制抛出异常给调用方。这个在调试源码的时候非常有用。Evaluate Expression:IDEA 还可以在调试代码的时候,动态修改当前方法栈中变量的值,方便我们的调试。
2.9 各种插件
见IEDA各种功能介绍和使用讲解文尾
三、使用要求
3.1 不允许出现魔法值
魔法值即未经预先定义的常量。
消除魔法值的几种方式
1、静态常量取代魔法值
2、枚举类取代魔法值
还有一种消除魔法值的方式是使用枚举类代替,下面让我们举个例子:
if (eventId == 1) {System.out.println("睡觉");} else if (eventId == 2) {System.out.println("吃饭");} else if (eventId == 3) {System.out.println("打豆豆");}
如上代码是针对事件 id 去执行相应的事件,如果事件比较少,大家还可以勉强记住每个 eventId 对应的含义,但是随着事件 id 的增多,很可能会发生,新来的员工把事件 id 给搞混了,导致执行错误的事件,发生 bug。
那么我们可以使用枚举类来表示相应的事件:
public enum EventEnum {/*** 睡觉*/SLEEP_EVENT(1, "睡觉"),/*** 吃饭*/EAT_EVENT(2, "吃饭"),/*** 打豆豆*/FIGHT_PEA_EVENT(3, "打豆豆");private int eventId;private String desc;EventEnum(int eventId, String desc) {this.eventId = eventId;this.desc = desc;}public int getEventId() {return eventId;}public String getDesc() {return desc;}}
修改完之后的代码如下:
if (eventId == EventEnum.SLEEP_EVENT.getEventId()) {System.out.println("睡觉");} else if (eventId == EventEnum.EAT_EVENT.getEventId()) {System.out.println("吃饭");} else if (eventId == EventEnum.FIGHT_PEA_EVENT.getEventId()) {System.out.println("打豆豆");}
是不是可读性急剧提升,还不快看看自己代码中有没有这样的魔法值出现,有的话赶紧改造起来。
还有如果你需要在不同的地点引用同一数值,魔法数会让你烦恼不已,因为一旦这些数字发生改变,就必须在程序中找到所有的魔法值,并将它们全部修改一遍,这样就太费时费力了。
如果觉得《(Java)IntelliJ IDEA .1使用技巧 常用快捷键大全(win+mac)》对你有帮助,请点赞、收藏,并留下你的观点哦!