扔掉鼠标,提高效率。
本文已被https://yourbatman.cn收录;女娲Knife-Initializr工程可公开访问啦;程序员专用网盘https://wangpan.yourbatman.cn;技术专栏源代码大本营:https://github.com/yourbatman/tech-column-learning;公号后台回复“专栏列表”获取全部小而美的原创技术专栏
你好,我是方向盘(YourBatman)。笔者的公号是保留地,只分享原创,不转载、不发商务广告!
?前言
春节快乐,阖家幸福! 今天,你能阅读完这篇技术文吗/p>
上篇文章(【方向盘】使用IDEA的60+个快捷键分享给你,权为了提效(操作系统、终端篇))向jar人们介绍了笔者在操作系统、终端层面经常使用的一些快捷键,本文继续,上主菜:快捷键。
在Java开发者中,一直存在着很多鄙视链。如(前者bs后者):
- IntelliJ IDEA → Eclipse → NetBeans
- Unix → Linux → Mac OS→ Windows → DOS
- Emacs → Vim → Sublime → Word → Power Point
就笔者自己来讲,算是一个IDEA快捷键重度依赖患者,一个在IDEA里不使用快捷键,几乎没法工作的选手。
各行各业从业人员都有自己吃饭的“饭碗”,对于一枚Java程序员来讲,这个吃饭的家伙毫无疑问是:。
鼠标,鼠标,还是tm的鼠标。
诚然,鼠标是现代计算机不可或缺的外设。它极大程度降低了使用计算机的门槛,但作为各自领域的专业人士,追求效率应当:重(双手操作的)键盘,轻(单手操作的)鼠标。
本文将以IDEA为例,笔者分享自己在使用快捷键上的一些实战心得。
IDEA快捷键模板如何选择/h2>
说明:每个软件的快捷键,(没有冲突的情况下)保持默认是最好的,十分不建议自定义
说明:每个软件的快捷键,(没有冲突的情况下)保持默认是最好的,十分不建议自定义
关于IDEA快捷键模板这块,笔者得承认自己是走了好几年“弯路”的,经验教训在这里分享出来。
如下图所示,这是笔者很长时间(2017-2021长达4年之久)使用的快捷键模板:基于Eclipse快捷键模板的私人定制版。
IDEA超越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>
说实话,此快捷键笔者使用得并不多,毕竟通过它得经过2步才能“到达”目的地,但它对“新手”是很友好的,所以也推荐一下。
打开/查找类
Action Name | Key |
---|---|
Go to Class… | command + o |
IntelliJ IDEA里笔者认为最最最常用的快捷键,甚至没有之一。
默认情况下检索的scope范围是:Project Files(当前工程)。上图可以看到(当前工程)没有找到ArrayList,IDEA非常“智能”的告诉了你如何去做:将搜索范围改为。
说明:具有确定性的搜索结果能给予用户最好的使用体验,而并非检索出来一大推结果还需人工二次筛选,(无法盲操作)大大降低效率。确定性一般通过缩小检索范围 + AI人工智能推测来实现,IntelliJ IDEA就是这么做的,很高级
将搜索范围改为有两种做法:
- 使用鼠标点击选择:依旧没有脱离鼠标,不推荐
说明:从Eclipse迁移过来的小伙伴喜欢使用这列通配符去模糊匹配,在IntelliJ IDEA里就duck不必这么做了,因为它足够智能(当然你写也是阔以的)。
使用误区
非常非常非常多同学在查找/打开类时有个使用误区:使用搜索一切,就像这样
可以看到,它会将文件的后缀名也显示出来。理由很简单:它检索的是文件,文件,文件(后缀名不一样就是不同文件)。我再“变个戏法”以加深理解:
如果你也“喜欢”写UT,保证代码质量,相信这个快捷键能节约你不少时间。?查找、替换文字/内容
类似于全文查找,功能强大。
在当前文件查找
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 该快捷键有两个作用:
- 跳到元素的声明处(若光标处在元素使用的地方)
- 99.99%情况下声明是不存在歧义的,所以按下此快捷键会直接调转到“目的地”
- (列表形式)展示出使用该元素的地方,效果同
现在知道笔者为何喜欢使用列表形式了吧,因为大部分情况下这一个快捷键搞定:声明、使用两大功能,岂不快哉。
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 快速定位到当前文件的行、列位置。
IDEA因为处在编辑框里,因此针对性的提供了响应快捷键。Tips:总结来看,回到行头/行尾的快捷键有好几个了,具体使用哪个据个人习惯使用即可
另外,还有些基础键可结合(以上快捷键)一起使用:
- option+左右:一次移动一个单词
- shift+左右:选中
?总结
21世纪的今天,没有导航软件,如同盲人IDEA里亦是如此,没有(快捷键)导航,使用的效率将大打折扣。
本文主要介绍了IDEA快捷键—导航篇,提纲挈领了一下,剩下的就是练习,练习,再练习了!快捷键没有任何技巧性,练就完了!假期里多操练几遍,你就是下一个高手。
下篇继续介绍Intellij IDEA的实用快捷键。那,咱们下篇再见!
2022农历虎年春节这一天,还能持续看到这里的同学,给自己鼓个掌。祝:虎年一切都好!
本专栏上下文
- 【方向盘】使用IDEA的60+个快捷键分享给你,权为了提效(操作系统、终端篇)
- 【方向盘】超爱的IDEA提效神器Save Actions,卸载了
- 【方向盘】利用IDEA代码审查能力,来保证代码质量
- 【方向盘】是如何高效的使用IntelliJ IDEA
推荐阅读
- 【方向盘】蚂蚁金服上市了,我不想努力了
- 【方向盘】每人送1G超小容量,“BAT网盘”免费助你做减法
- 【方向盘】因“双减”失业,厉经9面,终获美团外卖L8的Offer
序号 专栏名称 简介 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 源代码库 大多数专栏均配有源代码,都在这里 - 源代码库地址: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
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92131 人正在系统学习中
微信公众号 也许当我老了,也一样写代码。来源:YourBatman
声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!
- 跳到元素的声明处(若光标处在元素使用的地方)