如何用IDEA提高你的开发效率

前言

​ 作为一名java开发工程师,IDEA无疑是我日常接触最多的工具。因此,能否高效使用IDEA软件,一定程度上决定了我们的开发效率。本文将主要介绍IDEA中的四个便于提高开发效率的功能,常用快捷键、实时模版、后缀补全、文件和代码模版。相信一定会对你提升开发效率有所帮助。

常用快捷键

cmd + shift + R

可以针对所有文件中的同名变量进行全局替换。

在这里插入图片描述

cmd + shift + F

全局搜索特定内容。适用于我们检索特定方法在哪里被调用,相同变量在哪里被使用等。

在这里插入图片描述

double shift(双击shift)

double shift 快捷键结合了很多功能,这里我主要描述三个常见用法:

1、搜索错误栈对应位置

com.example.demo.base.MyException: 我的包装异常
Caused by: java.lang.ArithmeticException: / by zero
	at com.example.demo.controller.TestController.testPenError(TestController.java:63) ~[classes/:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_302]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_302]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_302]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_302]
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.18.jar:5.3.18]
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.18.jar:5.3.18]

​ 日常排查问题时,我们得先看错误栈找到错误类及错误方法,再找到错误的具体行。以上述错误为例,要找到这个方法的报错地方,得先找到TestController类,再根据方法名字定位到testPenError(),再根据错误行数定位到是方法的第63行

在这里插入图片描述

​ 有了double shift后,我们的工作就变得很简单了,只要拷贝下TestController.java:63,再通过双击shift就可以快速转到对应的错误行数了。

2、搜索url对应接口

​ 日常在跟别人核对接口的时候,由于接口的数量众多,往往一下难以确定接口所属文件的所在位置。好在double shift可以搜索接口路径url,从而快速定位到相应文件位置。

在这里插入图片描述

3、copyRefrence快速定位

​ 在查看别人给的枚举类、方法时,也许会收到这样的内容:java.util.concurrent.TimeUnit#SECONDS。这其实是用IDEA的拷贝引用实现的。

在这里插入图片描述

​ 那么,如何针对这样的引用快速找到相应的对象呢?可以采用cmd+shift+R的方式做全局搜索,但最好的方法还是用double shift直接搜索,IDEA会定位到引用的具体位置。
在这里插入图片描述

cmd+N

快速生成方法,这个快捷键主要用于对类方法进行生成的情况,方法包括但不限于生成类的构造方法、重载父类方法、getter与setter方法

在这里插入图片描述

option + 回车

​ Option + 回车,是IDEA提供的对于编译性错误、常见代码问题的解决提示。毋庸置疑,这个是IDEA最强大的快捷键之一,能够针对系统编译出现的问题做快速提示,并供使用者选择。

在这里插入图片描述

​ 上述是一个新建MyException的例子。在构建对象的时候,IDEA没有找到对应的构造方法,因此出现了错误。通过按下option + 回车,IDEA会提示我有两种解决方案:

1、修改现有构造方法为MyException(int, String, String, String)来解决。

2、新造一个构造方法解决。

​ 通过选择任意一种并回车,IDEA就会按照对应的规则修改/生成相应的构造方法,从而解决代码问题。

Control + T

快速操作变量,这个快捷键可以实现快速修改局部变量名称局部变量抽取成类变量、局部变量抽取成方法入参等等功能。

在这里插入图片描述

如下是一个我用Control + T 实现的快速局部变量名称修改的例子。
在这里插入图片描述

实时模版(live template)

​ 实时模版也是idea一个非常厉害的功能,其原理是通过配置常用代码字母缩写,在输入简写时可以出现你预定义的固定模式的代码,使得开发效率大大提高,同时也可以增加个性化。通过Perference => Editor => LiveTemplate可以查看当前所有的实时模版。
在这里插入图片描述

​ 常见的实时模版有:psvm(可以快速打印一个main方法)、thr(快速抛出异常)、sout(快速输出变量)等。如下是我用psvm模版+sout模版,快速创建main方法的一个示例:

在这里插入图片描述

​ 日常开发中,通过psvm我们可以快速生成main函数。通过mn可以快速获取两个变量的最小值。通过mx则可以获取两个变量比较最大值的模版。可以说live Template的作用还是很大的,极大减少了我们的代码。

后缀补全(Postfix Completion)

​ 后缀补全也是一个有效减少代码编写的功能,其使用的方法类似方法调用,通过.后缀公式的方法,将当前的变量/方法等自动嵌入到我们的特定模版中,从而实现减少重复代码编写的效果。

​ 通过preference=>Editor=>General=>PostfixCompletion,可以查看所有的后缀补全公式。常见的有.var快速生成变量、.!快速取反、.lambda快速生产lambda表达式。

在这里插入图片描述

如下是采用.var快速生成变量的一个例子:
在这里插入图片描述

​ 可以看到,原本需要先定义变量,再赋值的操作,经过后缀补全的润色后,就可以简单的变成直接写值,再自动生成变量了。这个功能在日常开发的时候很常用,而且熟练之后真的很流程~

文件和代码模版(File and Code Template)

​ 文件和代码模版是Idea提供用于用户自定义生成的文件格式的。其允许用户在创建文件的时候,对格式进行相应的自定义,从而将部分的公用代码抽取出来,减少重复代码的编写。

在这里插入图片描述

​ 以枚举类为例子,我们通常创建一个枚举类都会需要执行三个部分:code及desc变量定义、注解方法定义、实际使用数据定义。可以看到,code及desc变量定义注解方法定义其实大部分是通用的,差异点只在实际使用的数据定义上。

在这里插入图片描述

​ 那么通过对枚举类定义一个模版,将不变的方法抽取出来,只关注变化内容(实际数据的编写)的话,就可以节省很多代码的编写。如下是一个我用自己定义的枚举类模块,快速生成枚举类的例子:

在这里插入图片描述

​ 可以看到,几乎没有无用代码的编写,效率自然会保证蹭蹭的高~

总结

​ 期望通过对IDEA上述进阶功能的学习,我们未来可以更好的驾驭IDEA的功能,让IDEA不仅仅是完成开发的工具,更应该成为我们提高生产效率的真正利器。毕竟打工路漫漫,能早开发完成就代表我们能多努(mo)力(yu)一点。祝各位永不加班~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值