在使用IntelliJ Idea的时候,使用快捷键是必不可少的。
掌握一些常用的快捷键能大大提高我们的开发效率。有些快捷键可以熟练的使用,但是还有另外一些快捷键虽然很好用,但是由于因为没有形成使用习惯或者没有理解快捷键的用法,甚至之前对一些快捷键根本没有概念,导致不会去使用。
对于这些快捷键,如果能够用好,编辑代码的效率必能提高一个水平。
所以在此梳理出来,加强自己的使用,形成习惯。
一、文字版
1. -----------自动代码--------
常用的有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 提取变量
2. -----------查询快捷键--------
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
3.---------------------其他快捷键-------------------
SHIFT+ENTER 另起一行
CTRL+Z 倒退(撤销)
CTRL+SHIFT+Z 向前(取消撤销)
CTRL+ALT+F12 资源管理器打开文件夹
ALT+F1 查找文件所在目录位置
SHIFT+ALT+INSERT 竖编辑模式
CTRL+F4 关闭当前窗口
Ctrl+Alt+V,可以引入变量。例如:new String(); 自动导入变量定义
Ctrl+~,快速切换方案(界面外观、代码风格、快捷键映射等菜单)
4.--------------svn快捷键---------------
ctrl+k 提交代码到SVN
ctrl+t 更新代码
5.--------------调试快捷键---------------
其实常用的 就是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,定位到断点
6.--------------重构---------------
Ctrl+Alt+Shift+T,弹出重构菜单
Shift+F6,重命名
F6,移动
F5,复制
Alt+Delete,安全删除
Ctrl+Alt+N,内联
二、表格版
(注:有些操作的快捷键做了更改,和IntelliJ Idea默认的快捷键不一样)
动作 | 快捷键 | 说明 |
---|---|---|
Move Caret to Code Block End | Ctrl+] | 诸如{}围起来的代码块,使用该快捷键可以快速跳转至代码块的结尾处 |
Move Caret to Code Block Start | Ctrl+[ | 同上,快速跳至代码块的开始出 |
Complete Current Statement | Ctrl+Shift+Enter | 将输入的if、for、函数等等补上{}或者;使代码语句完整 |
Start New Line | Shift+Enter | 在当前行的下方开始新行 |
Start New Line Before Current | Ctrl+Alt+Enter | 在当前行上方插入新行 |
Delete to Word End | Ctrl+Delete | 删除光标所在至单词结尾处的所有字符 |
Delete to Word Start | Ctrl+BackSpace | 删除光标所在至单词开头的所有字符 |
Move Caret to Previous Word | Ctrl+向左箭头 | 将光标移至前一个单词 |
Move Caret to Next Word | Ctrl+向右箭头 | 将光标移至后一个单词 |
Scroll Up | Ctrl+向上箭头 | 向上滚动一行 |
Scroll Down | Ctrl+向下箭头 | 向下滚动一行 |
Extend Selection | Ctrl+W | 选中整个单词 |
Toggle Case | Ctrl+Shift+U | 切换大小写 |
———————————————Edit——————————————————–
动作 | 快捷键 | 说明 |
---|---|---|
Undo | Ctrl+Z | 撤销 |
Redo | Ctrl+Shift+Z | 重做 |
Cut | Ctrl+X | 剪切 |
Copy | Ctrl+C | 复制 |
Paste | Ctrl+V | 粘贴 |
Join Lines | Ctrl+Shift+J | 将选中的行合并成一行 |
—————-Find—————–
动作 | 快捷键 | 说明 |
---|---|---|
Find | Ctrl+F | 在当前文件中查找 |
Replace | Ctrl+R | 替换字符串 |
Find in Path | Ctrl+Shift+F | 在全局文件中查找字符串 |
Replace in Path | Ctrl+Shift+R | 在全局中替换字符串 |
Find Usages | Alt+F7 | 查找当前变量的使用,并列表显示 |
Show Usages | Ctrl+Alt+F7 | 查找当前变量的使用,并直接对话框显示 |
Find Usages in File | Ctrl+F7 | 在文件中查找符号的使用 |
Highlight Usages in File | Ctrl+Shift+F7 | 在文件中高亮显示变量的使用 |
这里的快捷键用的频率还是很高的,但是之前用的最多的是Ctrl+F和Ctrl+Shift+F,后面相关的Find Usages基本上没有用过,后面应该多使用,有的时候相对Ctrl+F在文件内按字符串查找,还是更好用一些
—————————————–Navigate————————————————
动作 | 快捷键 | 说明 |
---|---|---|
Class… | Ctrl+N | 查找类文件 |
File… | Ctrl+Shift+N | 查找文件 |
Line… | Ctrl+G | 定位到文件某一行 |
Back | Alt+向左箭头 | 返回至上次光标位置 |
Forward | Alt+向右箭头 | 返回至后一次光标位置 |
Last Edit Location | Ctrl+Shift+Backspace | 返回上次编辑位置 |
Next Edit Location | Ctrl+Shift+反斜杠 | 返回后一次编辑位置 |
Declaration | Ctrl+B | 定位至变量定义的位置 |
Implementation(s) | Ctrl+Alt+B | 定位至选中类或方法的具体实现 |
Type Declaration | Ctrl+Shift+B | 直接定位至光标所在变量的类型定义 |
Super Method | Ctrl+U | 直接定位至当前方法override或者implements的方法定义处 |
File Structure | Ctrl+F12 | 显示当前文件的文件结构 |
File Path | Ctrl+Alt+F12 | 显示当前文件的路径,并可以方便的将相关父路径打开 |
Type Hierarchy | Ctrl+H | 显示当前类的继承层次 |
Method Hierarchy | Ctrl+Shift+H | 显示当前方法的继承层次 |
Call Hierarchy | Ctrl+Alt+H | 显示当前方法的调用层次 |
Next Highlighted Error | F2 | 定位至下一个错误处 |
Previous Highlighted Error | Shift+F2 | 定位至前一个错误处 |
Previous Occurrence | Ctrl+Alt+向上箭头 | 查找前一个变量共现的地方 |
Next Occurrence | Ctrl+Alt+向下箭头 | 查找下一个变量共现的地方 |
目前还不知道Previous Occurrence 和 Next Occurrence是怎么用的,在变量上使用没有反应。不过在Edit–Find菜单下有几个菜单项:Find Next \/ Move to Next Occurrence、Find Previous \/ Move to Previous Occurrence等。当选中变量的时候,需要首先点击“Find Word at Caret”,然后再点击上述选项才有用
————————————————-Code———————————————–
动作 | 快捷键 | 说明 |
---|---|---|
Override Methods… | Ctrl+O | 重写基类的方法 |
Implement Methods… | Ctrl+I | 实现基类或接口中的方法 |
Generate… | Alt+Insert | 产生构造方法、getter/setter等方法 |
Surround With… | Ctrl+Alt+T | 将选中的代码使用if、while、try/catch等包装 |
Unwrap/Remove… | Ctrl+Shift+Delete | 去除相关的包装代码 |
—————————————–Completion——————————————
动作 | 快捷键 | 说明 |
---|---|---|
Basic | Alt+/ | 自动完成 |
SmartType | Alt+Enter | 自动提示完成 |
—————————————-Folding————————————————-
动作 | 快捷键 | 说明 |
---|---|---|
Expand | Ctrl+= | 展开代码 |
Collapse | Ctrl+- | 收缩代码 |
Expand Recursively | Ctrl+Alt+= | 递归展开代码 |
Collapse Recursively | Ctrl+Alt+- | 递归收缩代码 |
Expand All | Ctrl+Shift+= | 展开所有代码 |
Collapse All | Ctrl+Shift+- | 收缩所有代码 |
———————————
动作 | 快捷键 | 说明 |
---|---|---|
Insert Live Template | Ctrl+J | 插入Live Template |
Surround with Live Template | Ctrl+Alt+J | 使用Live Template包装 |
Comment with Line Comment | Ctrl+/ | 使用//进行注释 |
Comment with Block Comment | Ctrl+Shift+/ | 使用/**/进行注释 |
Reformat Code | Ctrl+Alt+L | 格式化代码 |
Auto-Indent Lines | Ctrl+Alt+I | 自动缩进行 |
Optimize Imports | Ctrl+Alt+O | 优化import |
———————————
动作 | 快捷键 | 说明 |
---|---|---|
Move Statement Down | Ctrl+Shift+向下箭头 | 将光标所在的代码块向下整体移动 |
Move Statement Up | Ctrl+Shift+向上箭头 | 将光标所在的代码块向上移动 |
Move Element Left | Ctrl+Alt+Shift+向左箭头 | 将元素向左移动 |
Move Element Right | Ctrl+Alt+Shift+向右箭头 | 将元素向右移动 |
Move Line Down | Alt+Shift+向下箭头 | 将行向下移动 |
Move Line Up | Alt+Shift+向上箭头 | 将行向上移动 |
————————————-Refactor——————————————–
动作 | 快捷键 | 说明 |
---|---|---|
Rename | Shift+F6 | 重命名 |
Change Signature | Ctrl+F6 | 更改函数签名 |
Type Migration | Ctrl+Shift+F6 | 更改类型 |