资讯详情

【方向盘】使用IDEA的60+个快捷键分享给你,权为了提效(IDEA导航篇)

扔掉鼠标,提高效率。 本文已被https://yourbatman.cn收录;女娲Knife-Initializr项目可公开访问;程序员专用网盘https://wangpan.yourbatman.cn;技术专栏源代码大本营:https://github.com/yourbatman/tech-column-learning;公号后台回复获得所有小而美的技术专栏

你好,我是。作者的公号是保留地,

?前言

今天能看完这篇技术文吗?

使用上一篇文章(方向盘IDEA的60 与您分享一个快捷键,为了提高效率(操作系统、终端文章)jar本文介绍了作者在操作系统和终端层面经常使用的一些快捷键。IntelliJ IDEA快捷键。

在Java在开发者中,一直有许多蔑视链。例如(前者bs后者):

  • → Eclipse → NetBeans
  • Unix → Linux → → Windows → DOS
  • Emacs → Vim → → Word → Power Point

就作者本人而言,这是一个IDEA快捷键严重依赖患者,一个在IDEA不使用快捷键,几乎不能工作的选手。

各行各业的员工都有自己的饭碗吃饭,对于一个Java对于程序员来说,这个吃饭的家伙无疑是:IntelliJ IDEA在这里插入图片描述

所属专栏

  • 【方向盘】-IntelliJ IDEA

相关下载

  • 本专栏源代码:https://github.com/yourbatman/FXP-java-ee
  • 【技术专栏源代码大本营】https://github.com/yourbatman/tech-column-learning
  • 【女娲Knife-Initializr访问地址:工程:http://152.136.106.14:8761
  • 【程序员专用网盘】公益上线,注册发送1G超小容量,帮你练习:https://wangpan.yourbatman.cn
  • 【Java开发软件包(Mac)】:https://wangpan.yourbatman.cn/s/rEH0 提取码:javakit

版本约定

  • Mac OS 12.2
  • iTerm2 3.4.14(zsh 5.8)
  • IntelliJ IDEA 2021.3.2

?正文

几乎每个软件或多或少都有快捷键来提高使用效率。几乎每个人都愿意相信快捷键可以提高效率,但它通常是世界上的鼠标。

研发人员效率的最大障碍是什么?

鼠标,鼠标,还是tm的鼠标。

的确,鼠标是现代计算机不可或缺的外设。它大大降低了使用计算机的门槛,但作为各自领域的专业人士,应该追求效率:键盘,轻(单手操作)鼠标。

本文将以IDEA例如,作者在使用快捷键时分享了一些实践经验。

IDEA如何选择快捷键模板?

说明:最好保持每个软件的快捷键默认(没有冲突),自定义

关于IDEA快捷键模板这块,笔者得承认自己是走了好几年“弯路”的,经验教训在这里分享出来。

如下图所示,这是作者长期使用的快捷键模板(2017-20214年):基于。 解释这两个关键词。

?Eclipse快捷键模板

对于大多数(2016年以后入行),Eclipse大概率只听过但没用过,值得恭喜:没有快捷键切换的负担。

IntelliJ IDEA相较于Eclipse是后起之秀,早已成为JVM生态IDE领域绝对霸主。如下图所示(2021年统计的结果):JVM圆圈最受欢迎IDE,IntelliJ IDEA遥遥领先。 IDEA超越Eclipse留下几个关键时间点的印象:

  • 2001年1月:首个IntelliJ IDEA版本正式发布
  • 2012年12月:IntelliJ IDEA支持炫黑主题。也是今年,IntelliJ IDEA实现了对老牌免费的综合表现IDE Eclipse超越,然后慢慢侵蚀其市场份额
  • 。自此,IntelliJ IDEA来到舞台中央,成为JVM使用最广泛的圆圈IDE

但笔者入行较早,已于2015年8月入行(基于开始使用)Eclipse的STS),新公司首次接触IntelliJ IDEA。你知道这两年我是怎么过的吗? 这两年经过不断的练习,,很难摆脱。

2017年进入新公司必须使用IntelliJ IDEA由于工作压力,我毅然决定沿用Eclipse这个决定是我走弯路的开始。

为什么没有选择适应?IntelliJ IDEA而选择沿用Eclipse快捷键呢?这可能是人性的弱点:舒适区。

回顾过去,这是一个只看到短期收入而忽视长期价值的决定,这是不明智的。如果上帝再给我一次机会,我认为正确的方法是:

笔者目前的情况:已全部切回IntelliJ IDEA原生方式(默认)Mac OS快捷键模板),可喜可贺。

?个人定制版

每个IDE提供自定义快捷键的能力,IntelliJ IDEA自然也不例外。所以,我又在这里走了弯路:定制了很多快捷键。

虽然自定义很好,但不要贪婪。个人经验,如果真的需要,DIY快捷键,所以:只做增加,不做修改,以保持与他人的最大公约数不变,自然也有更好的兼容性。

说明:快捷键表面上看起来是私人行为,但其普遍性也很重要

IntelliJ IDEA快捷键

接下来是文本。作者分享了一些常用的快捷键供您参考。根据功能类别分别展开。

?导航/搜索对象

在我看来,这部分最重要。

搜索的重要性是不言而喻的。如何快速定位你想要的类别、文件和地点将直接反映正确性IDEA熟练程度自然会节省你很多时间。

终极查找/导航

Action Name Key
Find Action… command shift A

上来放大招式:终极导航。一般的快捷键是执行某个Action,而它是,只需知道Action Name它可以通过它(间接)导航,并帮助您显示相应的快捷键。 说实话,此快捷键笔者使用得并不多,毕竟通过它得经过2步才能“到达”目的地,但它对“新手”是很友好的,所以也推荐一下。

打开/查找类

ActionName Key
Go to Class… command + o

IntelliJ IDEA里笔者认为最最最常用的快捷键,甚至

command + o在整个操作系统层面都具有非常明确的语义,所有用户都知道不需要“教训”。该快捷键在IDEA里被定义为查找/打开类,足矣见得它的高频性和重要性。

其实,不仅仅是IDEA,IntelliJ旗下的其它IDE产品都赋予了command + o非常重要的语义,如: Tips:这种查找方式只匹配类名/表名/go文件名,不关心里面的内容,所以

小技巧

有时候需要打开某个二方、三方库里的某个类的源代码,使用command + o找对应的类可能找不到:如 默认情况下command + o检索的scope范围是:Project Files(当前工程)。上图可以看到(当前工程)没有找到ArrayList,IDEA非常“智能”的告诉了你如何去做:将搜索范围改为All places

说明:具有的搜索结果能给予用户最好的使用体验,而并非检索出来一大推结果还需人工二次筛选,(无法盲操作)大大降低效率。一般通过缩小检索范围 + AI人工智能推测来实现,IntelliJ IDEA就是这么做的,很高级

将搜索范围改为All places有两种做法:

  1. 使用鼠标点击选择:依旧没有脱离鼠标,不推荐
  2. 通过command + o可以实现Project Files和All Places的自由切换,非常方便。

另外,还有一个查找小技巧是,也很常用。比如你在检索时是否遇到这种情况:

  • 不记得类的全名,只记得前面部分,或者中间部分,或者最后部分,甚至只记得零零碎碎的几个字母
  • 类名太长,不想全部输入(太慢)

举个栗子,要打开EntityManagerFactoryDependsOnPostProcessor这个类,我的做法是只在搜索框里这么输入就可以迅速打开我想要的:

说明:从Eclipse迁移过来的小伙伴喜欢使用*这列通配符去模糊匹配,在IntelliJ IDEA里就duck不必这么做了,因为它足够智能(当然你写*也是阔以的)。

使用误区

非常非常非常多同学在查找/打开类时有个使用误区:使用File in Files搜索一切,就像这样 对于这样的结果,你不觉得乱花渐欲迷人眼么?如果你也是这么做的,那么从看到笔者这篇文章开始就默默的改正哈。

问题来了,这两种检索有什么区别呢?

  • :有且仅检索类名,所以也是可以被非常快速检索到的
    • 注意:不是文件名,而是类名。只是在99.9999%情况下名称都相同而已,所以不要有误解哈
  • :用于检索文件的。当你需要关心文件内容的时候(如配置key的名称、字符串内容等)就使用它

总结:如若你现在还使用来进行打开类的话,会发现可能90%都是干扰项,觉得还能提高效率嘛?那你还会继续使用吗?

打开/查找文件

Action Name Key
Go to File… command + shift + o

它用于根据查找/打开文件。 可以看到,它会将文件的后缀名也显示出来。理由很简单:它检索的是(后缀名不一样就是不同文件)。

我再“变个戏法”以加深理解: 可以看到,“同样名称”的.java.class文件都被搜到了,这就是查找文件的“强大之处”。

一般来讲,shift功能键是同类功能做加强,这里应该能体会到吧

:找类用command + o,而command + shift + o专用来找配置文件(当前project或者lib包内)、普通文件。

打开/查找符号

Action Name Key
Go to Symbol… command + option + o

理解这个快捷键的关键,在于理解什么叫Symbol(符号),笔者根据自己的使用经验,尝试帮你总结一下,包括:

  • Class类
  • 方法名
  • 在Spring容器里的Bean名称
  • 枚举项
  • 全局(静态)属性名
  • 成员(静态)属性名
  • Rest URI路径
  • … 非常“强悍”有木有,总而言之,能够成为类的的都可以通过它找到,这得益于Java强类型、静态语言的特性,用好了可大大提效,谁还说Java语言编程没有脚本语言快呢?

Tips:这个检索的内容虽然多,但速度也还是非常快的。道理很简单:的元素找起来就是快。

打开/查找测试

Action Name Key
Go to Test command + shift + t

光标定位在的任何位置,可快速跳转到对应的测试类or快速创建该类的测试用例。 如果你也“喜欢”写UT,保证代码质量,相信这个快捷键能节约你不少时间。

✌查找、替换文字/内容

类似于全文查找,功能强大。

在当前文件查找

Action Name Key
Find… command + f
Replace… command + r(

在所有文件查找

Action Name Key
Find in Files… command + shift + f
Replace in Files… command + shift + r(

是查找当前文件的加强版(所以看到没,加了shift功能键)。

Tips:默认情况下也只会在当前项目(In Project)下查找。如上图所示,Scope也是可调整的哈

这个快捷键因为“强大”,被很多同学。正所谓通用性和精确性往往不可兼得,建议专键专用。再提醒一次:不要误用,不要误用,不要误用

✌查找代码

查找代码是个很宽泛的说法,比如说我们经常需要知道这个类/变量在哪些地方被用到了、类的继承结构是怎么样的、在哪儿申明的…这些都可认为是查找代码的范畴。

所有使用的地方(窗口形式)

Action Name Key
Find Usages in File… option + F7

注意:这个快捷键不是command组合哟

选中类元素(类、接口、变量、属性、方法…),按此快捷键可以显示出该元素在哪些地方被使用到了。 这种窗口方式对于某元素被使用的时候比较有好,因为可以分工程、分jar包、分目录的进行展示,清晰明了,一般用于查找中大型框架里面的引用情况(如Spring框架、MyBatis框架等)。

但是,对于我们自己书写的一些元素,毕竟不太可能被很多地方用到,这个时候使用下面的可能更为合适。

所有使用的地方(列表形式)

Action Name Key
Show Usages… command + option + F7

这种方式显示的信息没有那么的全,所以更强,操作方便。

笔者的习惯是,使用它为主,使用上面的窗口形式为辅。

元素声明处/使用处

Action Name Key
Go to Declaration or Usages… command + b

该快捷键有两个作用:

  1. 跳到元素的声明处(若光标处在元素使用的地方)
    1. 99.99%情况下声明是不存在歧义的,所以按下此快捷键会直接调转到“目的地”
  2. (列表形式)展示出使用该元素的地方,效果同option + command + F7

现在知道笔者为何喜欢使用了吧,因为大部分情况下这一个快捷键搞定:声明、使用两大功能,岂不快哉。

Tips:该快捷键功能同鼠标操作的 。即使如此,还是建议,远离鼠标,远离鼠标,远离鼠标

实现

Action Name Key
Go to implement(s)… command + option + b

注意:接口的实现、类的继承都属于该范畴。这里笔者以一个抽象类为例:

若某接口/类的实现有多个,则会弹窗让你选择,否则(只有一个实现)就直导航过去了。当然喽,若没有任何实现,就会弹窗提示说没有任何实现。

Tips:该快捷键功能同鼠标操作的 。即使如此,还是建议,远离鼠标,远离鼠标,远离鼠标

请注意本功能和上面的“元素声明处/使用处”的区别哈,前者要求必须要有继承/实现关系,后者只需有使用就能查找到(毕竟,继承/实现也属于一种使用嘛)。

类的层次/继承树

Action Name Key
Type Hierarchy control + h

某些复杂的场景,某个类的继承关系相当的多,这个时候通过层次/树的方式来查看是最好的。 该快捷键很好的对上面的command + option + b(实现)形成了补充:

  • 当某个类/接口的实现较少时,使用command + option + b即可快速导航
  • 当某个类/接口的实现较多时,,那就使用本快捷键吧

文件结构(列表方式)

Action Name Key
File Structure command + F12

结构就相当于“解刨”,该快捷键可以快速看到某个类的所有元素,包括:。 说明:加入某个类的结构元素很多,那在下面的窗口方式查看更为合适。

文件结构(窗口方式)

Action Name Key
File Structure command + 7

该窗口上面附有工具栏,可格局需要进行展示、隐藏、展开、排序等操作,非常方便。

✌其它导航

其它导航并非不重要,而是不方便分大类,所以列为其它吧。

上一次修改

Action Name Key
Last Edit Location command + shift + delete

这个快捷键且非常智能。

  • 好用体现在:将你从任意地方瞬间带回到现场,接着思绪敲代码
  • 智能体现在:你在“同一个地方”编辑多次只会算作一次,智能决策

比如你在浏览了其它代码、框架源码若干时间后,不知道自己写到哪了,使用它即可一键召回。按1次回到上次编辑处,按2次回到上上次,3次就是上上上次,依此类推…

Tips:IDEA会记住你最近编辑的地方,所以能快速回去。但是,一旦重启IDEA就会清空“记忆”哈

你可能会问有没有Next Edit Location(下一次修改)的功能,答案是有的,但IDEA默认并没有帮你绑定快捷键,笔者估计是IDEA觉得(大部分场景下)这可以使用前进、后退快捷键代替,让使用者可以少记忆一个吧。

下一个错误

Action Name Key
Next Highlighted Error F2
Previous Highlighted Error shift + F2

当一个类里错误较多时,使用该快捷键可快速定位错误所在地,非常方便和快速。 用鼠标操作看似问题不大,但谨记咱们的目标:尽量的脱离鼠标。

前进、后退

Action Name Key
Back command + [ command + option + ←
Forward command + ] command + option + →

这两个快捷键常用,不解释。

行、列

Action Name Key
Go to Line:Column command + l

快速定位到当前文件的行、列位置。 该快捷键最常见的使用场景:

  • 抛出异常时,异常栈里会显示错误的行、列
  • 代码静态检查时,会展示错误的具体行、列

使用此快捷键可快速定位到错误处,非常方便。

行头/行尾

Action Name Key
Move Caret to Line Start command + ←或者option + a
Move Caret to Line end command + →或者option + e

还记得操作系统级别的行头、行尾快捷键吗?回忆一下下图: IDEA因为处在编辑框里,因此针对性的提供了响应快捷键。

Tips:总结来看,回到行头/行尾的快捷键有好几个了,具体使用哪个?根据个人习惯使用即可

另外,还有些基础键可结合(以上快捷键)一起使用:

  • option+左右:一次移动一个单词
  • shift+左右:选中

✍总结

21世纪的今天,没有导航软件,如同盲人?在IDEA里亦是如此,没有(快捷键)导航,使用的效率将大打折扣。

本文主要介绍了IDEA快捷键—导航篇,提纲挈领了一下,剩下的就是练习,练习,再练习了!快捷键没有任何技巧性,练就完了!假期里多操练几遍,你就是下一个高手。

下篇继续介绍Intellij IDEA的实用快捷键。那,咱们下篇再见!

2022农历虎年春节这一天,还能持续看到这里的同学,给自己鼓个掌。

本专栏上下文

  • 【方向盘】使用IDEA的60+个快捷键分享给你,权为了提效(操作系统、终端篇)
  • 【方向盘】超爱的IDEA提效神器Save Actions,卸载了
  • 【方向盘】利用IDEA代码审查能力,来保证代码质量
  • 【方向盘】是如何高效的使用IntelliJ IDEA

推荐阅读

  • 【方向盘】蚂蚁金服上市了,我不想努力了
  • 【方向盘】每人送1G超小容量,“BAT网盘”免费助你做减法
  • 【方向盘】因“双减”失业,厉经9面,终获美团外卖L8的Offer

我是:一个前25年还不会写Hallo World、早已毕业的。网瘾失足、清考、延期毕业、房产中介、保险销售、送外卖…是我不可抹灭的黑标签

  • 👉🏻2006 - 2009:高中时期为游戏《梦幻西游》骨灰玩家
  • 🎓2013.07 清考、毕业答辩3次未通过、延期毕业
  • 🏷2013.08-2014.07 宁夏中介公司卖二手房1年,毕业后第1份工作
  • ️️🏷2014.07-2015.05 荆州/武汉,泰康人寿卖保险3月、饿了么送外卖2月,还有炸鸡排、直销等第2345份工作
  • 🏷2015.08 开始从事Java开发,闯过外包,呆过大厂!多年架构经验,任基础架构/中间件团队负责人
  • 🏷2021.08 因“双减政策”失业!历经9面,终获美团外卖L8的offer
  • 🙅🏻‍♀️Java架构师、Spring开源贡献者、CSDN博客之星年度Top 10、领域建模专家、写作大赛1/2届评委
  • 📚将出版书籍《Spring奇淫巧技》,致力于很好、很具深度、很实用的专栏,为市场贡献微薄之力
  • 现在写纯粹技术专栏(公号后台回复),不哗众取宠。如果你也有共鸣,可加我好友(fsx1056342982)一起进步

序号 专栏名称 简介
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

标签: reh磁吹灭弧电力型继电器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台