高效使用IDEA

熟练使用以下技巧后不用鼠标也可体验到丝滑的IDEA,编码速度有质的飞跃。

蓝色为高频功能。

搜索帮助

IDEA中提供了非常强大的搜索帮助,仅需要一些英文关键词就可以知道你要的帮助内容并给出快捷键

  • ctrl+shift+a 搜索帮助

    图片

跳转&切换

显示最近打开文件

  • ctrl+e显示最近打开的文件

    图片

显示最近编辑的文件

  • ctrl+shift+e显示最近编辑的文件

    图片

切换到上次编辑的位置

  • ctrl+shift+backspace切换到上次编辑的位置

    图片

切换到上次浏览的位置

  • ctrl+alt+⬅/➡切换到上次浏览的位置

    图片

左右切换选项卡

  • alt+⬅/➡左右切换选项卡

    图片

编辑区与project区来回切换

  • alt+1 从编辑区切换到project区

  • esc或重按 alt+1 从project区切换到编辑区

    图片

列出当前类方法集合

  • ctrl+F12 列出当前类方法集合

    图片

列出当前类依赖关系

  • ctrl+shift+alt+u

    图片

列出方法调用层次

  • ctrl+h列出方法调用层次

搜索&查找

查找类

  • ctrl+n 查找项目中的类,查找时再按一次则是查找包含项目外的类

    图片

查找文件

  • ctrl+shift+n 查找项目中的文件,查找时再按一次则是查找包含项目外的文件

    图片

查找方法&属性

  • ctrl+shift+alt+n 查找项目中的方法&属性,查找时再按一次则是查找包含项目外的方法&属性

    图片

查找字符串

  • ctrl+shift+f 查找字符串

    图片

文本操作

大小写转换

  • ctrl+shift+u 大小写转换

光标移动

  • Home/ End移动光标到行头/行尾

    图片

  • ctrl+Home/ ctrl+End移动光标到文件头头/文件尾

    图片

  • ctrl+⬅/➡移动光标到下/上一个单词

    图片

选择文本

  • shift+Home/shift+End选择从光标到行头/行尾

    图片

  • CTRL+SHIFT+END/CTRL+SHIFT+HOME选择从光标到文件头/文件尾

  • ctrl+shift+⬅/➡选择从光标到下/上一个单词

    图片

  • ctrl+w选择光标处单词

    图片

  • ctrl+insert 选择当前行

    图片

  • alt+a全选

  • alt+j 选择相逐个同字符

    图片

  • ctrl+shift+alt+j 在每行选择相同字符

    图片

编辑文本

  • shift+enter 在光标处插入新的行

    图片

  • Ctrl+X 删除/剪切光标所在行

    图片

  • Ctrl+D 复制光标所在行

    图片

  • Shift+Ctrl+上下键 移动光标所在行

    图片

快速编码

智能提示

  • Alt+enter智能提示,智能提示/修复的功能异常强大,这里只介绍了一点。

    图片

生成get,set方法

  • Alt+insert生成get,set方法

    图片

格式化代码

  • Ctrl+Alt+L格式化代码

    图片

方法参数提示

  • ctrl + p方法参数提示

    图片

运行当前类

  • ctrl+shift+F10运行当前类

    图片

变量更名

  • shift+F6

    图片

方法抽取

  • ctrl+alt+m 方法抽取

    图片

调出粘贴板

  • ctrl+shift+v调出粘贴板

DEBUG

添加断点

  • ctrl+f8 添加断点

添加条件断点

  • ctrl+shift+f8 添加条件断点

debug运行

  • shift+f9 debug运行

表达式求值

  • alt+F8 表达式求值

版本控制

后悔药之Local History

  • Local History 是IDEA自带的版本记录工具,文件的每一次修改都会记录在 Local History 中

    图片

找到谁背锅(查看谁写的这行代码)

图片

查看本次修改的位置

  • ctrl+shift+alt+↑/↓ 查看本次修改的位置

    图片

live template 代码模板

将较为常用的代码制作成模板,熟练使用后针对一些重复性高的代码,编码速度有质的飞跃

live template是一个预定义的代码模板,其中的内容能够根据上下文信息自动推断.

首先放下效果图

img

demonstrate.gif

相对于手动打出整块代码,很简洁有没有?如果这种毫无技术含量的代码都通过live template 来自动生成,有下面两个好处
1. 有更多的时间关注于业务逻辑,核心代码可以更优雅
2. 减少低级错误出现的可能,之前手写拼错和括号错位真是血和泪的教训
笔者很早之前就注意到这个功能,也查看过官方文档和博客,都不能尽如人意.本文会以上面为例,从头到尾完成一个live template,并介绍其大部分功能

一个完整的示范

  1. 新建一个live template

    图片

  2. 填写缩写和说明

    图片

这样使用时如果输入了对应的缩写,会有如下的提示

图片

  1. 设置模板的作用范围
    刚创建模板时idea应该会提示设置作用范围,我这里是已经设置过了,所以提示更改, 这里应该相差不大

    图片

    这里我只勾选了在表达式和语句时输入会触发, 其他情况下不会触发.例如在方法外输入unq,ide不会给任何提示

    图片

  2. 设置模板
    live template中模板变量使用$包裹的,并且是可复用的,下面的模板就是将会变动的字段提取为变量

1
2
3
4
5
Object result = $CACHE_NAME$.get(String.valueOf($PARAMETER$),
x -> getSession().createCriteria($RETURN_TYPE$.class)
.add(Restrictions.eq("$END$$PARAMETER$", $PARAMETER$)).setMaxResults(1)
.uniqueResult());
return result == null ? null : ($RETURN_TYPE$) result;
  1. 设置强大的

    1
    预定义函数

    关于预定义函数参见

    官方文档

    进入编辑变量页面,对变量设置需要的函数(

    1
    这里很坑,我还以为是在模板里直接使用预定义函数,结果是预定义函数要附在变量上

    ),个人认为这个功能

    1
    很强大

    图片

    这里可以调整变量的填充顺序,设置需要的预定义函数,这里就简单介绍下用到的两个函数

    图片


  1. $END$是特殊的预定义变量,表示模板结束后的光标位置
  2. idea有很多预定义的live template.很值得参考

postfix IDEA内置模板

IDEA内置了许多高效的模板,常用的如下

图片

  • for循环 .fori

    图片

  • if 判断 .if

    图片

  • 输出.sout

    图片

其他

鼠标滑轮调节文字大小

  • Settings>Editor>General>勾选change font size (zoom) whith ctrl+mouse wheet

    图片

插件

lombok

translation(翻译插件)

Rainbow Brackets(彩虹括号)

RestfulToolKit( Restful api 列表~~~~)

Free Mybatis plugin (mapper与接口)


标题:高效使用IDEA
原文作者:zhaojishun
地址:http://blog.zhaojishun.cn/articles/2020/01/27/1580092173752.html