转载自 Intellij IDEA 那些隐藏好用的小技巧

概述

之前写了一篇介绍IntellIJ IDEA的文章《 Intellij Idea非常6的10个姿势 》,主要是列出一些平时大家可能没用过或者没怎么用,但是又非常好用的IntellIJ IDEA小技巧。由于篇幅原因,只是列出了一小部分,那么接下来的这篇文章,会继续补充一些IntellIJ IDEA的小技巧。


别轻易自定义快捷键


有蛮多操作,IntellIJ IDEA并没有给我们设置默认快捷键,需要使用者自己去定义快捷键。比如说:

  • Rebuild Project

  • Compare With Branch

为了能在IntellIJ IDEA里进行无鼠标编程,很多程序员都会自定义快捷键,但是有三个地方你可能需要注意一下。

  • 经常会出现快捷键与其他应用的快捷键冲突的情况;

  • 自定义太多快捷键了,你也不太好记住;

  • 使用其他同事的IDEA时(比如说帮忙定位问题),你自定义的快捷键没法用。

其实在IntellIJ IDEA里的每个操作,都可以看出一个action。我们可以使用ctrl+shift+a来输入我们要使用的操作。比如说,上面提到的Rebuild Project。你可以先使用ctrl+shift+a快捷键,然后输入Rebuild Project并回车,即可执行你要的操作。

对我自己来说,除了基础的快捷键,ctrl+shift+a是我用最频繁的快捷键了。


使用ctrl+alt+h要小心


ctrl+alt+h非常好用,但是有个坑,当同一个方法里,调用某个方法多次的时候,比如说下面的代码:

public class TestService {public void test1() {System.out.println("aa");}public void test2() {test1();}public void test3() {test1();//无数业务操作后,再次电影test1()方法test1();}
}

如果我们想知道有哪些地方调用了test1()方法,使用ctrl+alt+h无法正确列出来的。因为ctrl+alt+h只能告诉你调用的层次。

ctrl+alt+h只是会在某个隐蔽的地方,告诉你,test3()方法调用了test1()方法两次。这样就很容易坑到开发者,因为大部分人可能不太注意后面的调用次数,导致改bug的时候,以为全部都改了呢?

如果你想精确的列出到底哪些地方调用了test1()方法,你需要使用alt+f7这个快捷键。

尤其是我们在阅读极其复杂的业务代码时,使用alt+f7就非常合适。

当然alt+f7也可以作用在变量上,列出某个类里,哪些地方使用了该变量。


ctrl+alt+h被问的最多的两个问题


经常有同事和网友问我。

使用ctrl+alt+h怎么跳转到源代码,又如何重新回到ctrl+alt+h对应的视图里面。

调转到源代码

其实很简单,当你使用ctrl+alt+h后,使用向下或者向上箭头,选择某个调用,然后按下f4即可跳转到源代码。

如何回到ctrl+alt+h视图

这个真心被问了好几百遍,其实很简单,当你使用f4跳转到源代码后,直接使用alt+8就可以跳回去了。就又可以继续看下一个调用的地方了。


快速找到Controller方法


如果你的项目里有非常多的controller,里面有非常多的http或者resful方法。如何快速找到这些方法呢?这个时候,ctrl+alt+shift+n就可以派上用场了。

比如说,你依稀记得入账单相关的接口,都有个bill的url路径,那么使用ctrl+alt+shift+n后,直接输入/bill即可。

当你在成千上万的Controller里寻找方法时,这一招就可以大大提高效率。


了解项目关键业务流程方法的利器-bookmark


在一些创业公司里,很多核心的模块都是放置在同一个项目里的。比如说,订单相关的接口,支付相关的接口,商品相关的接口。

这个时候,你可以将这些关键业务方法,使用bookmark统一放置到某个地方,方便你阅读。

那么如何使用快捷键来达到上面的效果呢?

public class TestService {public void test1() {System.out.println("aa");}public void test2() {test1();}public void test3() {test1();test1();}
}

比如像上面的方法,我想将test1()方法放置到bookmark里,可以通过如下操作来完成: 
1、使用ctrl+f12,列出该类的所有方法,然后输入test1,将光标定位在test1上; 
2、按下f11,将test1()加入到bookmark; 
3、按下shift+f11,将bookmark列表弹出来; 
4、按下ctrl+enter修改bookmark名字。


只留下一个tab


这个是我目前正在用的,就是整个工程里面,只有一个代码tab。也即是说,无论你打开多少个文件,都是在同一个tab里面显示。如果这样设置了,有些网友可能会问,我想看看我最近操作哪些类了,怎么看? 可以直接使用ctrl+e来显示最近操作的文件。

我是比较推荐只是保留一个代码tab的,非常简洁。如果每打开一个文件,就是一个新的tab,很快你就会乱掉,而且还得关闭部分tab。

可以通过下面的方式来设置成用一个tab显示代码。按下ctrl+shif+a,然后输入Editor Tabs,然后回车进入编辑页面。

然后在Placement那里,选择None


如何阅读又长又臭的代码


由于历史原因,项目里总会存在那种无法理解的,又长又臭的业务代码。阅读这种代码,简直就是一种煎熬。但是在IntellIJ IDEA里,只要使用5个小技巧,便可大大提高阅读质量和速度。

创建任意代码折叠块


像上面的for循环,我想直接将其折叠起来,因为代码太长的时候,使用折叠块,可以帮助你快速理清代码的主脉络。

可以将光标定位在for循环的左大括号里,然后使用ctrl+shift+. 即可。

如果你想让这个折叠快消失,直接使用ctrl 加上一个+即可。


大括号匹配


这个也非常有用,因为代码太长,某个for循环,可能已经撑满整个屏幕了。这个时候,找到某个大括号对应的另外一边就很费劲。你可以将光标定位在某个大括号一边,然后使用ctrl+]或者ctrl+[来回定位即可。


ctrl+shift+f7结合f3


ctrl+shift+f7可以高亮某个变量,而且随着鼠标的移动,这个高亮是不会消失的(这个很重要)。然后使用f3找到下一个使用该变量的地方。


使用ctrl+shift+i


这个也是阅读长段代码的法宝,当你阅读的代码很长的时候,突然想看代码里某个类的定义,那么直接使用ctrl+shift+i,就可以在当前类里再弹出一个窗口出来。比如说:

在这个代码块里,你想看看TestTemp类的定义,那么将光标定位在TestTemp上,然后直接使用ctrl+shift+i,就会弹出如下的窗口。

按下esc,可以关闭这个窗口。


使用alt+f7


这个我在上面已经介绍过了。可以列出变量在哪些地方被使用了。

结合这5个技巧,相信可以大大提高长段代码的阅读效率。


跳到父类接口


我们经常会定义一个service 接口,比如说UserService,然后使用一个UserServiceImpl类去实现UserService里面的接口。

public interface UserService {void test1();
}
public class UserServiceImpl implements UserService {@Overridepublic void test1() {}
}

那么在UserServiceImpl里的test1()方法上,如何跳转到UserServicetest1(),直接使用ctrl+u即可。


后悔药


如果修改了部分代码,突然觉得不合适,使用ctrl+z回滚掉后。突然又觉得刚才的修改是可以的。那你可以使用ctr+shift+z再次恢复你刚才修改的内容。


切换皮肤最快的方式


可以直接使用ctrl,然后加上一个`,就可以立刻弹出如下界面:

选择Color Scheme,然后回车,就可以弹出修改皮肤的窗口。

Intellij IDEA 那些隐藏好用的小技巧相关推荐

  1. 骚操作!Intellij IDEA居然藏着这些实用小技巧 !

    看到了一篇关于IDEA小技巧的文章,很实用!分享一下~ 概述 Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜.出于对Intellij IDEA的喜爱,我 ...

  2. qt的exe启动时隐藏图标_系统小技巧:Win10桌面图标问题多 常见3种这么解

    桌面图标是我们使用Windows 10接触最频繁的项目.在使用桌面图标的过程中,也可能会遇到一些不如意.例如,为获取清洁桌面而要隐藏桌面图标时,却发现图标无法隐藏:点击桌面图标想启动某个应用,却发现软 ...

  3. ubuntu不息屏、隐藏其他软件图标 小技巧

    1.有时想安静的写写代码,但是这时候ubuntu老是自动进入休眠状态,这是你可以进入[设置]->system setting->power->Brightness&Lock ...

  4. 隐藏WiFi信号的小技巧

    隐藏WiFi信号方法: 首先用手机或电脑连上路由器的WiFi网络,在浏览器地址栏输入路由器登陆地址并打开,地址一般在路由器的底部都有标注的. 输入用户名与密码,很多路由器默认的账号.密码都是admin ...

  5. 三星关闭shell提示_隐藏三星手机通知状态栏小技巧你会吗?学会就能立马提升档次!...

    三星手机怎么隐藏状态栏?有的人不喜欢状态栏,喜欢更加"干净"的桌面,下面就告诉大家三星手机隐藏状态栏的方法. 三星手机怎么隐藏状态栏? 第一步:安装三星手机驱动(如果已经安装了驱动 ...

  6. 手机计算机的隐藏小技巧,华为手机隐藏的5个技巧,每一个值得收藏

    手机对于每一个人来说几乎都是形影不离的,而华为手机最近更是做的比较好,真可谓是风生水起,华为手机也凭借着自身的优点让更多的人们去选择它,越来越多的人喜欢用华为手机,但其实华为手机有很多隐藏的小技巧,今 ...

  7. 计算机里的硬盘怎么隐藏文件,如何在电脑上创建一个隐藏硬盘|电脑隐藏文件的小技巧...

    ‍ 如果我们想要保护一些重要的文件,可以通过加密.隐藏等等方法实现,但是这样总还是会让别人发现,如果可以创建一个隐藏的空间,然后把自己重要的数据放到里面,那应该就是很理想的方法了.所以接下来系统城小编 ...

  8. 小米手机拦截返回音设置不了_小米手机的隐藏小技巧!超级黑科技,你用过几个...

    我们都知道,小米手机现在发展的很快,而且也越来越受到大家的喜欢,小编身边的米粉可不在少数,尤其是小米手机上面的一些隐藏小技巧,真的是太好用,难怪会受到一众米粉的追捧!今天小编就来带大家看看小米这些隐藏 ...

  9. vivoz5android能关吗,vivo Z5这4个隐藏小技巧,你知道吗?

    原标题:vivo Z5这4个隐藏小技巧,你知道吗? 现在的智能手机几乎包揽了平时的工作以及娱乐,尤其是丰富的功能为我们带来了诸多的便捷.智能手机中有些功能很常用,也有些功能并不常用到,但是它却真真实实 ...

最新文章

  1. mysql索引教程_MySQL教程96-MySQL索引类型
  2. java开发培训好学习吗?难度大不大?
  3. Metasploit 使用后门和Rootkit维持访问
  4. 看译飞的由浅入深漫谈margin属性
  5. Object-C时间与字符串的转化 因多语言设置中造成返回Nil的解决方法
  6. 如何规范你的Git commit?
  7. Win10上运行Docker
  8. 日程管理 FullCalendar
  9. 决策树(十二)--XGBoost
  10. android studio for android learning (十九 ) 最新Handler消息传递机制全解
  11. Vuejs vm对象详解
  12. jupyter中超好用的10个快捷键
  13. 抖音小程序开发所遇到的问题
  14. 周杰伦专辑《最伟大的作品》在哪看?当贝盒子畅享周董最新MV
  15. 用html制作四种九九乘法表,JavaScript制作九九乘法表
  16. 云从科技 OCR任务 pixel-anchor 方法
  17. @Scripts “does not exist”
  18. 【python爬虫】用python编写LOL战绩查询
  19. 单向可控硅和双向可控硅的详细介绍(含引脚的分辨)
  20. Microbiome | 西农韦革宏团队揭示植物驯化塑造小麦根际微生物组组装和代谢功能...

热门文章

  1. [剑指offer]面试题31:连续子数组的最大和
  2. LeetCode 1669合并两个链表-中等
  3. [蓝桥杯2019初赛]完全二叉树的权值-完全二叉树的性质
  4. JAVA基础知识+基础代码
  5. 数据结构---递归实现十进制装换为任意进制
  6. 360浏览器linux版本_360安全浏览器崩溃解决方案
  7. Linux下Java环境变量配置
  8. Spring boot starter
  9. 聊一聊顺序消息(RocketMQ顺序消息的实现机制)
  10. Absolute Math (HDU 6868)