古人有云:工欲善其事,必先利其器,要是只是手握利器,而不能发挥其最大的效益,那无异于赤手空拳,对敌对垒。

  那古人所云,未得其精髓,只能为碎语闲言尔。

自动代码

  常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码 。例如要输入for(User user : users)只需输入user.for+Tab ;再比如,要输入Date birthday = user.getBirthday()只需输入user.getBirthday().var+Tab即可。代码标签输入完成后,按Tab,生成代码。

  1. Ctrl+Alt+O 优化导入的类和包
  2. Alt+Insert 生成代码(如get,set方法,构造函数等) 或者右键(Generate)
  3. fori/sout/psvm + Tab
  4. Ctrl+Alt+T 生成try catch 或者 Alt+enter
  5. CTRL+ALT+T 把选中的代码放在 TRY{} IF{} ELSE{} 里
  6. Ctrl + O 重写方法
  7. Ctrl + I 实现方法
  8. Ctr+shift+U 大小写转化
  9. ALT+回车 导入包,自动修正
  10. ALT+/ 代码提示
  11. CTRL+J 自动代码
  12. Ctrl+Shift+J,整合两行为一行
  13. CTRL+空格 代码提示
  14. CTRL+SHIFT+SPACE 自动补全代码
  15. CTRL+ALT+L 格式化代码
  16. CTRL+ALT+I 自动缩进
  17. CTRL+ALT+O 优化导入的类和包
  18. ALT+INSERT 生成代码(如GET,SET方法,构造函数等)
  19. CTRL+E 最近更改的代码
  20. CTRL+ALT+SPACE 类名或接口名提示
  21. CTRL+P 方法参数提示
  22. CTRL+Q,可以看到当前方法的声明
  23. Shift+F6 重构-重命名 (包、类、方法、变量、甚至注释等)
  24. Ctrl+Alt+V 提取变量

查询快捷键

  1. Ctrl+Shift+Backspace可以跳转到上次编辑的地
  2. CTRL+ALT+ left/right 前后导航编辑过的地方
  3. ALT+7 靠左窗口显示当前文件的结构
  4. Ctrl+F12 浮动显示当前文件的结构
  5. ALT+F7 找到你的函数或者变量或者类的所有引用到的地方
  6. CTRL+ALT+F7 找到你的函数或者变量或者类的所有引用到的地方
  7. Ctrl+Shift+Alt+N 查找类中的方法或变量
  8. 双击SHIFT 在项目的所有目录查找文件
  9. Ctrl+N 查找类
  10. Ctrl+Shift+N 查找文件
  11. CTRL+G 定位行
  12. CTRL+F 在当前窗口查找文本
  13. CTRL+SHIFT+F 在指定窗口查找文本
  14. CTRL+R 在 当前窗口替换文本
  15. CTRL+SHIFT+R 在指定窗口替换文本
  16. ALT+SHIFT+C 查找修改的文件
  17. CTRL+E 最近打开的文件
  18. F3 向下查找关键字出现位置
  19. SHIFT+F3 向上一个关键字出现位置
  20. 选中文本,按Alt+F3 ,高亮相同文本,F3逐个往下查找相同文本
  21. F4 查找变量来源
  22. CTRL+SHIFT+O 弹出显示查找内容
  23. Ctrl+W 选中代码,连续按会有其他效果
  24. F2 或Shift+F2 高亮错误或警告快速定位
  25. Ctrl+Up/Down 光标跳转到第一行或最后一行下
  26. Ctrl+B 快速打开光标处的类或方法
  27. CTRL+ALT+B 找所有的子类
  28. CTRL+SHIFT+B 找变量的类
  29. Ctrl+Shift+上下键 上下移动代码
  30. Ctrl+Alt+ left/right 返回至上次浏览的位置
  31. Ctrl+X 删除行
  32. Ctrl+D 复制行
  33. Ctrl+/ 或 Ctrl+Shift+/ 注释(// 或者/…/ )
  34. Ctrl+H 显示类结构图
  35. Ctrl+Q 显示注释文档
  36. Alt+F1 查找代码所在位置
  37. Alt+1 快速打开或隐藏工程面板
  38. Alt+ left/right 切换代码视图
  39. ALT+ ↑/↓ 在方法间快速移动定位
  40. CTRL+ALT+ left/right 前后导航编辑过的地方
  41. Ctrl+Shift+Backspace可以跳转到上次编辑的地
  42. Alt+6 查找TODO

其他快捷键

  1. SHIFT+ENTER 另起一行
  2. CTRL+Z 倒退(撤销)
  3. CTRL+SHIFT+Z 向前(取消撤销)
  4. CTRL+ALT+F12 资源管理器打开文件夹
  5. ALT+F1 查找文件所在目录位置
  6. SHIFT+ALT+INSERT 竖编辑模式
  7. CTRL+F4 关闭当前窗口
  8. Ctrl+Alt+V,可以引入变量。例如:new String(); 自动导入变量定义
  9. Ctrl+~,快速切换方案(界面外观、代码风格、快捷键映射等菜单)

调试快捷键

  其实常用的 就是F8 F7 F9 最值得一提的就是Drop Frame 可以让运行过的代码从头再来。

  1. alt+F8 debug时选中查看值
  2. Alt+Shift+F9,选择 Debug
  3. Alt+Shift+F10,选择 Run
  4. Ctrl+Shift+F9,编译
  5. Ctrl+Shift+F8,查看断点
  6. F7,步入
  7. Shift+F7,智能步入
  8. Alt+Shift+F7,强制步入
  9. F8,步过
  10. Shift+F8,步出
  11. Alt+Shift+F8,强制步过
  12. Alt+F9,运行至光标处
  13. Ctrl+Alt+F9,强制运行至光标处
  14. F9,恢复程序
  15. Alt+F10,定位到断点

重构

  1. Ctrl+Alt+Shift+T,弹出重构菜单
  2. Shift+F6,重命名
  3. F6,移动
  4. F5,复制
  5. Alt+Delete,安全删除
  6. Ctrl+Alt+N,内联

十大Intellij IDEA快捷键

  Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论。

  1 智能提示

  Intellij首当其冲的当然就是Intelligence智能!基本的代码提示用Ctrl+Space,还有更智能地按类型信息提示Ctrl+Shift+Space,但因为Intellij总是随着我们敲击而自动提示,所以很多时候都不会手动敲这两个快捷键(除非提示框消失了)。

  用F2/ Shift+F2移动到有错误的代码,Alt+Enter快速修复(即Eclipse中的Quick Fix功能)。当智能提示为我们自动补全方法名时,我们通常要自己补上行尾的反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲Ctrl+Shift+Enter就能自动补全末尾的字符。而且不只是括号,例如敲完if/for时也可以自动补上{}花括号。最后要说一点,Intellij能够智能感知Spring、Hibernate等主流框架的配置文件和类,以静制动,在看似“静态”的外表下,智能地扫描理解你的项目是如何构造和配置的。

  2 重构

  Intellij重构是另一完爆Eclipse的功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配 ,同时提取成一个变量等。尤其看过《重构-改善既有代码设计》之后,有了Intellij的配合简直是令人大呼过瘾!也正是强大的智能和重构功能,使Intellij下的TDD开发非常顺畅。切入正题,先说一个无敌的重构功能大汇总快捷键Ctrl+Shift+Alt+T,叫做Refactor This。按法有点复杂,但也符合Intellij的风格,很多快捷键都要双手完成,而不像Eclipse不少最有用的快捷键可以潇洒地单手完成(不知道算不算Eclipse的一大优点),但各位用过Emacs的话就会觉得也没什么了(非Emacs黑)。此外,还有些最常用的重构技巧,因为太常用了,若每次都在Refactor This菜单里选的话效率有些低。比如Shift+F6直接就是改名,Ctrl+Alt+V则是提取变量。

  3 代码生成

  这一点类似Eclipse,虽不是独到之处,但因为日常使用频率极高,所以还是罗列在榜单前面。常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码,用Ctrl+J可以查看所有模板。后面“辅助”一节中将会讲到Alt+Insert,在编辑窗口中点击可以生成构造函数、toString、getter/setter、重写父类方法等。这两个技巧实在太常用了,几乎每天都要生成一堆main、System.out和getter/setter。另外,Intellij IDEA 13中加入了后缀自动补全功能(Postfix Completion),比模板生成更加灵活和强大。例如要输入for(User user : users)只需输入user.for+Tab。 再比如,要输入Date birthday = user.getBirthday();只需输入user.getBirthday().var+Tab即可。

  4 编辑

  编辑中不得不说的一大神键就是能够自动按语法选中代码的Ctrl+W以及反向的Ctrl+Shift+W了。

  此外,Ctrl+Left/Right移动光标到前/后单词,Ctrl+[/] 移动到前/后代码块,这些类Vim风格的光标移动也是一大亮点。以上Ctrl+Left/Right/[]加上Shift的话就能选中跳跃范围内的代码。

  Alt+Forward/Backward移动到前/后方法。还有些非常普通的像Ctrl+Y删除行、Ctrl+D复制行、Ctrl+折叠代码就不多说了。关于光标移动再多扩展一点,除了Intellij本身已提供的功能外,我们还可以安装ideaVim或者emacsIDEAs享受到Vim的快速移动和Emacs的AceJump功能(超爽!)。另外,Intellij的书签功能也是不错的,用Ctrl+Shift+Num定义1-10书签(再次按这组快捷键则是删除书签),然后通过Ctrl+Num跳转。这避免了多次使用前/下一编辑位置Ctrl+Left/Right来回跳转的麻烦,而且此快捷键默认与Windows热键冲突(默认多了Alt,与Windows改变显示器显示方向冲突,一不小心显示器就变成倒着显式的了,冏啊)。

  5 查找打开

  类似Eclipse,Intellij的Ctrl+N/Ctrl+Shift+N可以打开类或资源,但Intellij更加智能一些,我们输入的任何字符都将看作模糊匹配,省却了Eclipse中还有输入*的麻烦。最新版本的IDEA还加入了Search Everywhere功能,只需按Shift+Shift即可在一个弹出框中搜索任何东西,包括类、资源、配置项、方法等等。

  类的继承关系则可用 Ctrl+H 打开类层次窗口,在继承层次上跳转则用Ctrl+B/Ctrl+Alt+B分别对应父类或父方法定义和子类或子方法实现,查看当前类的所有方法Ctrl+F12。要找类或方法的使用也很简单,Alt+F7。要查找文本的出现位置就用Ctrl+F/Ctrl+Shift+F在当前窗口或全工程中查找,再配合F3/Shift+F3前后移动到下一匹配处。Intellij更加智能的又一佐证是在任意菜单或显示窗口,都可以直接输入你要找的单词,Intellij就会自动为你过滤。

  6 其他辅助

  以上这些神键配上一些辅助快捷键,即可让你的双手90%以上的时间摆脱鼠标,专注于键盘仿佛在进行钢琴表演。

  这些不起眼却是至关重要的最后一块拼图有:

  Ø 命令:Ctrl+Shift+A可以查找所有Intellij的命令,并且每个命令后面还有其快捷键。所以它不仅是一大神键,也是查找学习快捷键的工具。

  Ø 新建:Alt+Insert 可以新建类、方法等任何东西。

  Ø 格式化代码:格式化import列表Ctrl+Alt+O,格式化代码Ctrl+Alt+L。

  Ø 切换窗口:Alt+Num,常用的有1-项目结构,3-搜索结果,4/5-运行调试。Ctrl+Tab切换标签页,Ctrl+E/Ctrl+Shift+E打开最近打开过的或编辑过的文件。

  Ø 单元测试:Ctrl+Alt+T创建单元测试用例。

  Ø 运行:Alt+Shift+F10运行程序,Shift+F9启动调试,Ctrl+F2停止。

  Ø 调试:F7/F8/F9分别对应Step into,Step over,Continue。

  此外还有些我自定义的,例如水平分屏Ctrl+|等,和一些神奇的小功能Ctrl+Shift+V粘贴很早以前拷贝过的,Alt+Shift+Insert进入到列模式进行按列选中。

  Ø Top #10切来切去:Ctrl+Tab

  Ø Top #9选你所想: Ctrl+W

  Ø Top #8代码生成:Template/Postfix +Tab

  Ø Top #7发号施令:Ctrl+Shift+A

  Ø Top #6无处藏身:Shift+Shift

  Ø Top #5自动完成:Ctrl+Shift+Enter

  Ø Top #4创造万物:Alt+Insert

  太难割舍,前三名并列吧!

  Ø Top #1智能补全:Ctrl+Shift+Space

  Ø Top #1自我修复:Alt+Enter

  Ø Top #1重构一切:Ctrl+Shift+Alt+TCTRL+ALT+ left/right    前后导航编辑过的地方 Ctrl+Shift+Backspace   可以跳转到上次编辑的地方

打赏

Intellij IDEA史上最全快捷键大全的更多相关文章

  1. 史上最全最实用HBuilder快捷键大全

    史上最全最实用HBuilder快捷键大全 一.文件操作二.编辑操作三.插入操作四.转义操作五.选择操作六.跳转操作七.查找操作八.运行九.视图一.文件操作新建菜单: ctrl + N新建: ctrl ...

  2. [No00004F]史上最全Vim快捷键键位图(入门到进阶)vim常用命令总结

    在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行.你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format.使 ...

  3. 【2016年特别福利】史上最全CSS学习资料大全

    css学习篇 [2016年特别福利]史上最全CSS学习资料大全

  4. [No00004F]史上最全Vim快捷键键位图(入门到进阶)

    史上最全Vim快捷键键位重磅来袭!!学习Linux的朋友看过来啦,你是不是觉得Linux编辑器Vim操作复杂,步骤繁琐呢?Linux工程师是不是想大幅度提升自己的工作效率呢? 经典版        下 ...

  5. IDEA HTTP Client(史上最全)

    文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...

  6. GitHub上史上最全的Android开源项目分类汇总 (转)

    GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...

  7. 史上最全的Excel数据编辑处理技巧(转)

    史上最全的数据编辑处理技巧,让你在日常数据分析处理的疯魔状态中解放出来. 一.隐藏行列 “不得了了,Excel出现灵异事件,部分区域消失不见了!”办公室里的一个MM跑过来大声喊叫着,着实吓了俺一跳.待 ...

  8. 你想找的Python资料这里全都有!没有你找不到!史上最全资料合集

    你想找的Python资料这里全都有!没有你找不到!史上最全资料合集 2017年11月15日 13:48:53 技术小百科 阅读数:1931   GitHub 上有一个 Awesome - XXX 系列 ...

  9. 史上最全Windows版本搭建安装React Native环境配置

    史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...

随机推荐

  1. 邓士鹏【MySql大全】

    禁止使用系统关键字: typename 1.计算两个日期的时间差函数 SELECT TIMESTAMPDIFF(MONTH,'2009-10-01','2009-09-01'); interval可是 ...

  2. clr via c# Array2

    1,Array类型生成方式以及实际类型 private static void ArrayIntro() { String[] sa = new String[1]; Array a1 = Array ...

  3. for循环嵌套练习题or99乘法表

    //输出1-10之间的和 public static void whileTest(){ //定义变量用于存储不断变化的和 int sum = 0; //定义变量,用于记录不断变化的被加数 int x ...

  4. 题解【CF1311F Moving Points】

    \[ \texttt{Preface} \] 赛时,把 " 任意时刻 " 理解成 " 整数时刻 " 了,看起来一脸不可做的亚子,还各种推式子. 话说我为什么觉得 ...

  5. 阿里云K8S下玩.NET CORE 3.1

    1. 创建阿里云K8S集群,本文以标准托管集群为例 1.1 创建一个 2台 centos 2core 4G的 k8s 集群 1.2 创建成功的模样 2. 创建 asp.net core webapi项 ...

  6. SQL Server数据库、表、数据类型基本概念

    一.SQL Server的数据存储结构 SQL Server是一个数据库管理系统,需要以有效方式存储高容量数据.要更好地理解SQL Server处理数据的方式,就需要了解数据的存储结构. 1.文件类型 ...

  7. CentOS配置禁止root用户直接登录

    Linux的默认管理员名即是root,只需要知道ROOT密码即可直接登录SSH.禁止Root从SSH直接登录可以提高服务器安全性.经过以下操作后即可实现.本文适用于CentOS.Debian等Linu ...

  8. SpringBoot 教程之 profile 的应用

    目录   区分环境的配置  区分环境的代码  激活 profile  示例源码  参考资料 一个应用为了在不同的环境下工作,常常会有不同的配置,代码逻辑处理.Spring Boot 对此提供了简便的支 ...

  9. [开发技巧]·AttributeError: module 'pywt' has no attribute 'wavedec'解决方法

    [开发技巧]·AttributeError: module 'pywt' has no attribute 'wavedec'解决方法 1.卸载 pywt pip uninstall pywt 2.安 ...

  10. linux - 查看是否安装 JDK

    看看 是否设置了jdk环境变量: echo $JAVA_HOME: 或运行命令: java -verion 看看能否查看版本 ,能就是运行: 或者查看后台进程:ps -ef|grep java.