Intellij IDEA史上最全快捷键大全
古人有云:工欲善其事,必先利其器,要是只是手握利器,而不能发挥其最大的效益,那无异于赤手空拳,对敌对垒。
那古人所云,未得其精髓,只能为碎语闲言尔。
自动代码
常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码 。例如要输入for(User user : users)只需输入user.for+Tab ;再比如,要输入Date birthday = user.getBirthday()只需输入user.getBirthday().var+Tab即可。代码标签输入完成后,按Tab,生成代码。
- Ctrl+Alt+O 优化导入的类和包
 - Alt+Insert 生成代码(如get,set方法,构造函数等) 或者右键(Generate)
 - fori/sout/psvm + Tab
 - Ctrl+Alt+T 生成try catch 或者 Alt+enter
 - CTRL+ALT+T 把选中的代码放在 TRY{} IF{} ELSE{} 里
 - Ctrl + O 重写方法
 - Ctrl + I 实现方法
 - Ctr+shift+U 大小写转化
 - ALT+回车 导入包,自动修正
 - ALT+/ 代码提示
 - CTRL+J 自动代码
 - Ctrl+Shift+J,整合两行为一行
 - CTRL+空格 代码提示
 - CTRL+SHIFT+SPACE 自动补全代码
 - CTRL+ALT+L 格式化代码
 - CTRL+ALT+I 自动缩进
 - CTRL+ALT+O 优化导入的类和包
 - ALT+INSERT 生成代码(如GET,SET方法,构造函数等)
 - CTRL+E 最近更改的代码
 - CTRL+ALT+SPACE 类名或接口名提示
 - CTRL+P 方法参数提示
 - CTRL+Q,可以看到当前方法的声明
 - Shift+F6 重构-重命名 (包、类、方法、变量、甚至注释等)
 - Ctrl+Alt+V 提取变量
 
查询快捷键
- Ctrl+Shift+Backspace可以跳转到上次编辑的地
 - CTRL+ALT+ left/right 前后导航编辑过的地方
 - ALT+7 靠左窗口显示当前文件的结构
 - Ctrl+F12 浮动显示当前文件的结构
 - ALT+F7 找到你的函数或者变量或者类的所有引用到的地方
 - CTRL+ALT+F7 找到你的函数或者变量或者类的所有引用到的地方
 - Ctrl+Shift+Alt+N 查找类中的方法或变量
 - 双击SHIFT 在项目的所有目录查找文件
 - Ctrl+N 查找类
 - Ctrl+Shift+N 查找文件
 - CTRL+G 定位行
 - CTRL+F 在当前窗口查找文本
 - CTRL+SHIFT+F 在指定窗口查找文本
 - CTRL+R 在 当前窗口替换文本
 - CTRL+SHIFT+R 在指定窗口替换文本
 - ALT+SHIFT+C 查找修改的文件
 - CTRL+E 最近打开的文件
 - F3 向下查找关键字出现位置
 - SHIFT+F3 向上一个关键字出现位置
 - 选中文本,按Alt+F3 ,高亮相同文本,F3逐个往下查找相同文本
 - F4 查找变量来源
 - CTRL+SHIFT+O 弹出显示查找内容
 - Ctrl+W 选中代码,连续按会有其他效果
 - F2 或Shift+F2 高亮错误或警告快速定位
 - Ctrl+Up/Down 光标跳转到第一行或最后一行下
 - Ctrl+B 快速打开光标处的类或方法
 - CTRL+ALT+B 找所有的子类
 - CTRL+SHIFT+B 找变量的类
 - Ctrl+Shift+上下键 上下移动代码
 - Ctrl+Alt+ left/right 返回至上次浏览的位置
 - Ctrl+X 删除行
 - Ctrl+D 复制行
 - Ctrl+/ 或 Ctrl+Shift+/ 注释(// 或者/…/ )
 - Ctrl+H 显示类结构图
 - Ctrl+Q 显示注释文档
 - Alt+F1 查找代码所在位置
 - Alt+1 快速打开或隐藏工程面板
 - Alt+ left/right 切换代码视图
 - ALT+ ↑/↓ 在方法间快速移动定位
 - CTRL+ALT+ left/right 前后导航编辑过的地方
 - Ctrl+Shift+Backspace可以跳转到上次编辑的地
 - Alt+6 查找TODO
 
其他快捷键
- SHIFT+ENTER 另起一行
 - CTRL+Z 倒退(撤销)
 - CTRL+SHIFT+Z 向前(取消撤销)
 - CTRL+ALT+F12 资源管理器打开文件夹
 - ALT+F1 查找文件所在目录位置
 - SHIFT+ALT+INSERT 竖编辑模式
 - CTRL+F4 关闭当前窗口
 - Ctrl+Alt+V,可以引入变量。例如:new String(); 自动导入变量定义
 - Ctrl+~,快速切换方案(界面外观、代码风格、快捷键映射等菜单)
 
调试快捷键
其实常用的 就是F8 F7 F9 最值得一提的就是Drop Frame 可以让运行过的代码从头再来。
- alt+F8 debug时选中查看值
 - Alt+Shift+F9,选择 Debug
 - Alt+Shift+F10,选择 Run
 - Ctrl+Shift+F9,编译
 - Ctrl+Shift+F8,查看断点
 - F7,步入
 - Shift+F7,智能步入
 - Alt+Shift+F7,强制步入
 - F8,步过
 - Shift+F8,步出
 - Alt+Shift+F8,强制步过
 - Alt+F9,运行至光标处
 - Ctrl+Alt+F9,强制运行至光标处
 - F9,恢复程序
 - Alt+F10,定位到断点
 
重构
- Ctrl+Alt+Shift+T,弹出重构菜单
 - Shift+F6,重命名
 - F6,移动
 - F5,复制
 - Alt+Delete,安全删除
 - 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史上最全快捷键大全的更多相关文章
- 史上最全最实用HBuilder快捷键大全
		
史上最全最实用HBuilder快捷键大全 一.文件操作二.编辑操作三.插入操作四.转义操作五.选择操作六.跳转操作七.查找操作八.运行九.视图一.文件操作新建菜单: ctrl + N新建: ctrl ...
 - [No00004F]史上最全Vim快捷键键位图(入门到进阶)vim常用命令总结
		
在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行.你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format.使 ...
 - 【2016年特别福利】史上最全CSS学习资料大全
		
css学习篇 [2016年特别福利]史上最全CSS学习资料大全
 - [No00004F]史上最全Vim快捷键键位图(入门到进阶)
		
史上最全Vim快捷键键位重磅来袭!!学习Linux的朋友看过来啦,你是不是觉得Linux编辑器Vim操作复杂,步骤繁琐呢?Linux工程师是不是想大幅度提升自己的工作效率呢? 经典版 下 ...
 - IDEA HTTP Client(史上最全)
		
文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...
 - GitHub上史上最全的Android开源项目分类汇总  (转)
		
GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...
 - 史上最全的Excel数据编辑处理技巧(转)
		
史上最全的数据编辑处理技巧,让你在日常数据分析处理的疯魔状态中解放出来. 一.隐藏行列 “不得了了,Excel出现灵异事件,部分区域消失不见了!”办公室里的一个MM跑过来大声喊叫着,着实吓了俺一跳.待 ...
 - 你想找的Python资料这里全都有!没有你找不到!史上最全资料合集
		
你想找的Python资料这里全都有!没有你找不到!史上最全资料合集 2017年11月15日 13:48:53 技术小百科 阅读数:1931 GitHub 上有一个 Awesome - XXX 系列 ...
 - 史上最全Windows版本搭建安装React Native环境配置
		
史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...
 
随机推荐
- Android中通过ImageSwitcher实现相册滑动查看照片功能(附代码下载)
			
场景 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将需要滚动查看的照 ...
 - MySQL锁与事务隔离级别
			
一.概述 1.锁的定义 锁是计算机协调多个进程或线程并发访问某一资源的机制. 在数据库中,除了传统的计算资源(如CPU.RAM.IO等)的争用以外,数据也是一种供需要用户共享的资源.如何保证数据并发访 ...
 - Linux学习Day6:编写Shell脚本
			
Shell脚本命令的工作方式有两种: 交互式(Interactive):用户每输入一条命令就立即执行. 批处理(Batch):由用户事先编写好一个完整的Shell脚本,Shell会一次性执行脚本中诸多 ...
 - CSGO控制台命令
			
转帖: 按下“~”即可开启 使用时先输入参数名 然后按下SPACE空出一格 再输入设定值即可 一般玩家进入游戏都只能用到Client(玩家用参数) 不过...如果你是开LAN GAME的人 就能进阶到 ...
 - 【已解决】pyinstaller UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 110: invalid continuation byte
			
转载自勤奋的小青蛙本文链接地址: [已解决]pyinstaller UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in positi ...
 - 【转】JS 的 new 到底是干什么的?
			
原文:https://zhuanlan.zhihu.com/p/23987456?refer=study-fe 大部分讲 new 的文章会从面向对象的思路讲起,但是我始终认为,在解释一个事物的时候,不 ...
 - 【python基础语法】国庆扩展练习题
			
''' 一.国庆知识小拓展 1. 用户登陆程序需求: 1. 输入用户名和密码; 2. 判断用户名和密码是否正确? (name='root', password='123') 3. 为了防止暴力破解, ...
 - 洛谷题解 P1292 【倒酒】
			
原题传送门 题目描述 Winy是一家酒吧的老板,他的酒吧提供两种体积的啤酒,a ml和b ml,分别使用容积为a ml和b ml的酒杯来装载. 酒吧的生意并不好.Winy发现酒鬼们都非常穷.有时,他们 ...
 - Java学习随笔---常用API(二)
			
Object类的toString方法 将一个对象返回为字符串形式,但一般使用的时候会覆盖重写toString方法 Object类是所有类的父亲 // public class Person { pri ...
 - Selenium实战(四)——unittest单元测试框架1
			
Python中的单元测试框架包含:doctest.unittest.pyttest.nose等,使用unittest单元测试框架不需要自行定义断言失败的提示,并且当一个测试函数执行失败后,后面的测试函 ...