?前言
春节快乐,阖家幸福! 今天,你能阅读完这篇技术文吗/p>
在Java开发者中,一直存在着很多鄙视链。如(前者bs后者):
- IntelliJ IDEA → Eclipse → NetBeans
- Unix → Linux → Mac OS→ Windows → DOS
- Emacs → Vim → Sublime → Word → Power Point
就笔者自己来讲,算是一个IDEA快捷键重度依赖患者,一个在IDEA里不使用快捷键,几乎没法工作的选手。
各行各业从业人员都有自己吃饭的“饭碗”,对于一枚Java程序员来讲,这个吃饭的家伙毫无疑问是:。
诚然,鼠标是现代计算机不可或缺的外设。它极大程度降低了使用计算机的门槛,但作为各自领域的专业人士,追求效率应当:重(双手操作的)键盘,轻(单手操作的)鼠标。
IDEA快捷键模板如何选择/h2>
说明:每个软件的快捷键,(没有冲突的情况下)保持默认是最好的,十分不建议自定义
说明:每个软件的快捷键,(没有冲突的情况下)保持默认是最好的,十分不建议自定义
关于IDEA快捷键模板这块,笔者得承认自己是走了好几年“弯路”的,经验教训在这里分享出来。
如下图所示,这是笔者很长时间(2017-2021长达4年之久)使用的快捷键模板:基于Eclipse快捷键模板的私人定制版。
- 2001年1月:首个IntelliJ IDEA版本正式发布
- 2012年12月:IntelliJ IDEA支持炫黑主题。也是这一年,IntelliJ IDEA的综合表现实现了对老牌免费IDE Eclipse的超越,然后慢慢侵蚀着它的市占率
- 2016年:这一年在市占率上,IntelliJ IDEA也完成了对Eclipse的超越。自此,IntelliJ IDEA来到舞台中央,成为JVM圈使用最广泛的IDE
奈何笔者入行较早,2015年8月就已入行(开始使用基于Eclipse的STS),2017年8月入职新公司才首次接触到IntelliJ IDEA。2年,你知道这2年我怎么过的吗br>
打开/查找类
Action Name | Key |
---|---|
Go to Class… | command + o |
IntelliJ IDEA里笔者认为最最最常用的快捷键,甚至没有之一。
说明:具有确定性的搜索结果能给予用户最好的使用体验,而并非检索出来一大推结果还需人工二次筛选,(无法盲操作)大大降低效率。确定性一般通过缩小检索范围 + AI人工智能推测来实现,IntelliJ IDEA就是这么做的,很高级
将搜索范围改为有两种做法:
- 跳到元素的声明处(若光标处在元素使用的地方)
- 99.99%情况下声明是不存在歧义的,所以按下此快捷键会直接调转到“目的地”
- (列表形式)展示出使用该元素的地方,效果同
- option+左右:一次移动一个单词
- shift+左右:选中
- 【方向盘】使用IDEA的60+个快捷键分享给你,权为了提效(操作系统、终端篇)
- 【方向盘】超爱的IDEA提效神器Save Actions,卸载了
- 【方向盘】利用IDEA代码审查能力,来保证代码质量
- 【方向盘】是如何高效的使用IntelliJ IDEA
- 【方向盘】蚂蚁金服上市了,我不想努力了
- 【方向盘】每人送1G超小容量,“BAT 盘”免费助你做减法
- 【方向盘】因“双减”失业,厉经9面,终获美团外卖L8的Offer
- 源代码库地址:https://github.com/yourbatman/tech-column-learning
- CSDN主页:https://blog.csdn.net/f641385712
- 掘金主页:https://juejin.cn/user/430664289367192
- 博客园主页:https://www.cnblogs.com/yourbatman
- 个人博客主页:https://yourbatman.cn
- 个人 盘主页:https://wangpan.yourbatman.cn
说明:从Eclipse迁移过来的小伙伴喜欢使用这列通配符去模糊匹配,在IntelliJ IDEA里就duck不必这么做了,因为它足够智能(当然你写也是阔以的)。
使用误区
非常非常非常多同学在查找/打开类时有个使用误区:使用搜索一切,就像这样
我再“变个戏法”以加深理解:
?查找、替换文字/内容
类似于全文查找,功能强大。
在当前文件查找
Action Name | Key |
---|---|
Find… | command + f |
Replace… | command + r(查找并替换) |
Tips:默认情况下也只会在当前项目(In Project)下查找。如上图所示,Scope也是可调整的哈
这个快捷键因为“强大”,被很多同学误用。正所谓通用性和精确性往往不可兼得,建议专键专用。再提醒一次:不要误用,不要误用,不要误用
?查找代码
查找代码是个很宽泛的说法,比如说我们经常需要知道这个类/变量在哪些地方被用到了、类的继承结构是怎么样的、在哪儿申明的…这些都可认为是查找代码的范畴。
所有使用的地方(窗口形式)
Action Name | Key |
---|---|
Find Usages in File… | option + F7 |
注意:这个快捷键不是command组合哟
选中类元素(类、接口、变量、属性、方法…),按此快捷键可以显示出该元素在哪些地方被使用到了。
笔者的习惯是,使用它为主,使用上面的窗口形式为辅。
元素声明处/使用处
Action Name | Key |
---|---|
Go to Declaration or Usages… | command + b |
该快捷键有两个作用:
现在知道笔者为何喜欢使用列表形式了吧,因为大部分情况下这一个快捷键搞定:声明、使用两大功能,岂不快哉。
Tips:该快捷键功能同鼠标操作的 按住command + 鼠标单击。即使如此,还是建议,远离鼠标,远离鼠标,远离鼠标
实现
Action Name | Key |
---|---|
Go to implement(s)… | command + option + b |
注意:接口的实现、类的继承都属于该范畴。这里笔者以一个抽象类为例:
Tips:该快捷键功能同鼠标操作的 按住command + option + 鼠标单击。即使如此,还是建议,远离鼠标,远离鼠标,远离鼠标
请注意本功能和上面的“元素声明处/使用处”的区别哈,前者要求必须要有继承/实现关系,后者只需有使用就能查找到(毕竟,继承/实现也属于一种使用嘛)。
类的层次/继承树
Action Name | Key |
---|---|
Type Hierarchy | control + h |
某些复杂的场景,某个类的继承关系相当的多,这个时候通过层次/树的方式来查看是最好的。
文件结构(窗口方式)
Action Name | Key |
---|---|
File Structure | command + 7 |
前进、后退
Action Name | Key |
---|---|
Back | command + [ 或 command + option + ← |
Forward | command + ] 或 command + option + → |
这两个快捷键非常非常非常常用,不解释。
行、列
Action Name | Key |
---|---|
Go to Line:Column | command + l |
快速定位到当前文件的行、列位置。
Tips:总结来看,回到行头/行尾的快捷键有好几个了,具体使用哪个据个人习惯使用即可
另外,还有些基础键可结合(以上快捷键)一起使用:
?总结
21世纪的今天,没有导航软件,如同盲人IDEA里亦是如此,没有(快捷键)导航,使用的效率将大打折扣。
下篇继续介绍Intellij IDEA的实用快捷键。那,咱们下篇再见!
2022农历虎年春节这一天,还能持续看到这里的同学,给自己鼓个掌。祝:虎年一切都好!
本专栏上下文
推荐阅读
序 | 专栏名称 | 简介 |
---|---|---|
01 | 【方向盘】-程序人生 | 程序人生,人生程序 |
02 | 【方向盘】-资讯/新特性 | IDEA、JDK、Spring技术栈…新特性 |
03 | 【方向盘】-IntelliJ IDEA | 熟练使用IDEA就相当拥有物理外挂,助你高效编码 |
04 | 【方向盘】-Bean Validation | 熟练掌握数据校验,减少90%的垃圾代码 |
05 | 【方向盘】-日期时间 | 帮你解决JDK Date、JSR 310日期/其实 的一切问题 |
06 | 【方向盘】-Spring类型转换 | Spring类型转换-框架设计的基石 |
07 | 【方向盘】-Spring static | static关键字在Spring里的应用 |
08 | 【方向盘】-Cors跨域 | 关于跨域请求问题,本专栏足矣 |
09 | 【方向盘】-Jackson | Almost Maybe是最好的Jackson专栏 |
10 | 【方向盘】-Spring配置类 | 专讲@Configuration配置类,你懂的 |
11 | 【方向盘】-Spring技术栈 | 暂无所属小分类的,Spring技术栈大分类 |
12 | 【方向盘】-JDK | 暂无所属小分类的,JDK技术栈大分类 |
13 | 【方向盘】-Servlet | Servlet规范、Web相关内容专题 |
14 | 【方向盘】-Java EE | 从Java EE到Jakarta EE,30年弹指一挥间 |
15 | 【方向盘】-Spring Boot新特性 | Spring Boot中、大版本发布时的新特性系列专题 |
16 | 【方向盘】-Spring Framework新特性 | Spring Framework中、大版本发布时的新特性系列专题 |
17 | 【方向盘】-Spring Cloud新特性 | Spring Cloud中、大版本发布时的新特性系列专题 |
… | … | … |
99 | 源代码库 | 大多数专栏均配有源代码,都在这里 |
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92131 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!