高效使用IDEA
熟练使用以下技巧后不用鼠标也可体验到丝滑的IDEA,编码速度有质的飞跃。
蓝色为高频功能。
搜索帮助
IDEA中提供了非常强大的搜索帮助,仅需要一些英文关键词就可以知道你要的帮助内容并给出快捷键
ctrl+shift+a
搜索帮助帮助.gif
跳转&切换
显示最近打开文件
ctrl+e
显示最近打开的文件1.gif
显示最近编辑的文件
ctrl+shift+e
显示最近编辑的文件1.gif
切换到上次编辑的位置
ctrl+shift+backspace
切换到上次编辑的位置1.gif
切换到上次浏览的位置
ctrl+alt+⬅/➡
切换到上次浏览的位置1.gif
左右切换选项卡
alt+⬅/➡
左右切换选项卡左右切换选项卡.gif
编辑区与project区来回切换
alt+1
从编辑区切换到project区esc
或重按alt+1
从project区切换到编辑区1.gif
列出当前类方法集合
ctrl+F12
列出当前类方法集合查看方法.gif
列出当前类依赖关系
ctrl+shift+alt+u
类关系图.gif
列出方法调用层次
ctrl+h
列出方法调用层次
搜索&查找
查找类
ctrl+n
查找项目中的类,查找时再按一次则是查找包含项目外的类定位类.gif
查找文件
ctrl+shift+n
查找项目中的文件,查找时再按一次则是查找包含项目外的文件定位文件.gif
查找方法&属性
ctrl+shift+alt+n
查找项目中的方法&属性,查找时再按一次则是查找包含项目外的方法&属性定位方法或属性.gif
查找字符串
ctrl+shift+f
查找字符串定位字符串.gif
文本操作
大小写转换
ctrl+shift+u
大小写转换
光标移动
Home
/End
移动光标到行头/行尾移动光标到行头.gif ctrl+Home
/ctrl+End
移动光标到文件头头/文件尾移动光标到文件头头或文件尾.gif
https://zhangxin-blog.oss-cn-beijing.aliyuncs.com/blog/g/idea/%E7%A7%BB%E5%8A%A8%E5%85%89%E6%A0%87%E5%88%B0%E6%96%87%E4%BB%B6%E5%A4%B4%E5%A4%B4%E6%88%96%E6%96%87%E4%BB%B6%E5%B0%BE-345e6c03.gif
ctrl+⬅/➡
移动光标到下/上一个单词移动光标到下或上一个单词.gif
选择文本
shift+Home
/shift+End
选择从光标到行头/行尾选择光标到行头.gif CTRL+SHIFT+END
/CTRL+SHIFT+HOME
选择从光标到文件头/文件尾ctrl+shift+⬅/➡
选择从光标到下/上一个单词选择光标到下或上一个单词.gif ctrl+w
选择光标处单词选择光标处单词.gif ctrl+insert
选择当前行选择当前行.gif alt+a
全选alt+j
选择相逐个同字符逐个选择相同单词.gif ctrl+shift+alt+j
在每行选择相同字符在每行选择相同字符.gif
编辑文本
shift+enter
在光标处插入新的行在光标处插入新的行.gif Ctrl+X
删除/剪切光标所在行删除光标所在行.gif Ctrl+D
复制光标所在行复制光标所在行.gif Shift+Ctrl+上下键
移动光标所在行移动光标所在行.gif
快速编码
智能提示
Alt+enter
智能提示,智能提示/修复的功能异常强大,这里只介绍了一点。智能提示.gif
生成get,set方法
Alt+insert
生成get,set方法生成getset方法.gif
格式化代码
Ctrl+Alt+L
格式化代码格式化代码.gif
方法参数提示
ctrl + p
方法参数提示方法参数提示.gif
运行当前类
ctrl+shift+F10
运行当前类运行类.gif
变量更名
shift+F6
变量重构.gif
方法抽取
ctrl+alt+m
方法抽取方法抽取.gif
调出粘贴板
ctrl+shift+v
调出粘贴板
DEBUG
添加断点
ctrl+f8
添加断点
添加条件断点
ctrl+shift+f8
添加条件断点
debug运行
shift+f9
debug运行
表达式求值
alt+F8
表达式求值
版本控制
后悔药之Local History
Local History 是IDEA自带的版本记录工具,文件的每一次修改都会记录在 Local History 中
本地后悔药.gif
找到谁背锅(查看谁写的这行代码)
![314ab34994c30d220ebbe468dc1dea03.gif](https://i-blog.csdnimg.cn/blog_migrate/6b96d90734e06420a28683be36609b2f.gif)
查看本次修改的位置
ctrl+shift+alt+↑/↓
查看本次修改的位置修改位置.gif
live template 代码模板
将较为常用的代码制作成模板,熟练使用后针对一些重复性高的代码,编码速度有质的飞跃
示例
代码模板.gif 制作作者:alonwang 链接:https://www.jianshu.com/p/3974df6572af
live template是一个预定义的代码模板,其中的内容能够根据上下文信息自动推断.
首先放下效果图
demonstrate.gif
相对于手动打出整块代码,很简洁有没有?如果这种毫无技术含量的代码都通过live template 来自动生成,有下面两个好处1. 有更多的时间关注于业务逻辑,核心代码可以更优雅
2. 减少低级错误出现的可能,之前手写拼错和括号错位真是血和泪的教训
笔者很早之前就注意到这个功能,也查看过官方文档和博客,都不能尽如人意.本文会以上面为例,从头到尾完成一个live template,并介绍其大部分功能
一个完整的示范
新建一个live template
img image.png
填写缩写和说明
img
这样使用时如果输入了对应的缩写,会有如下的提示
![55173df9f5ecaa4e052cd521613b22bd.png](https://i-blog.csdnimg.cn/blog_migrate/d455ab5fd5317671cdabf245355bc61b.jpeg)
image.png
设置模板的作用范围
刚创建模板时idea应该会提示设置作用范围,我这里是已经设置过了,所以提示更改, 这里应该相差不大img 这里我只勾选了在表达式和语句时输入会触发, 其他情况下不会触发.例如在方法外输入unq,ide不会给任何提示
img 设置模板
live template中模板变量使用$
包裹的,并且是可复用的,下面的模板就是将会变动的字段提取为变量
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;
设置强大的
预定义函数
关于预定义函数参见
官方文档
进入编辑变量页面,对变量设置需要的函数(
这里很坑,我还以为是在模板里直接使用预定义函数,结果是预定义函数要附在变量上
),个人认为这个功能
很强大
img 这里可以调整变量的填充顺序,设置需要的预定义函数,这里就简单介绍下用到的两个函数
complete() 光标跳转到该变量位置时会打开智能补全,不确定要用什么就用它
methodReturnType() 使用当前方法的返回类型设置当前变量
img
$END$
是特殊的预定义变量,表示模板结束后的光标位置idea有很多预定义的live template.很值得参考
postfix IDEA内置模板
IDEA内置了许多高效的模板,常用的如下
![]()
image.png
for循环
.fori
fori.gif if 判断
.if
if.gif 输出
.sout
sout.gif
其他
鼠标滑轮调节文字大小
Settings>Editor>General>勾选change font size (zoom) whith ctrl+mouse wheet
放大缩小文字.gif
插件
lombok
translation(翻译插件)
Rainbow Brackets(彩虹括号)
RestfulToolKit( Restful api 列表~~~~)
Free Mybatis plugin (mapper与接口)
标题:高效使用IDEA
原文作者:zhaojishun
地址:http://blog.zhaojishun.cn/articles/2020/01/27/1580092173752.html