IntelliJ IDEA 键盘快捷键
===

IntelliJ IDEA 是一款非常优秀的 Java IDE，它的大部分命令都有快捷键，让你的手不离开键盘

IDEA Windows 和 Linux 键盘映射
---

### 编辑
<!--rehype:wrap-class=row-span-5-->

快捷键 | 说明
:-- | --
`Ctrl` `Space`| 基本代码完成
`Ctrl` `Shift` `Space`| 智能代码完成
`Ctrl` `Shift` `Enter`| 完整声明
`Ctrl` `P`| 参数信息
`Ctrl` `Q`| 快速文档查找
`Shift` `F1`| 外部文档
`Ctrl` `hover`| 简介
`Ctrl` `F1`| 插入符号处的错误或警告
`Alt` `Insert`| 生成代码
`Ctrl` `O`| 覆盖方法
`Ctrl` `I`| 实现方法
`Ctrl` `Alt` `T`| 环绕着
`Ctrl` `/`| 注释或取消注释行
`Ctrl` `Shift` `/`| 评论或取消评论块
`Ctrl` `W`| 选择连续递增的代码块
`Ctrl` `Shift` `W`| 将当前选择减少到以前的状态
`Alt` `Q`| 上下文信息
`Alt` `Enter`| 显示意图操作和快速修复
`Ctrl` `Alt` `L`| 重新格式化代码
`Ctrl` `Alt` `O`| 优化导入
`Ctrl` `Alt` `I`| 自动缩进行
`Tab`|   缩进所选行
`Shift` `Tab`|   取消缩进所选行
`Ctrl` `X`| 将当前行或选定的块剪切到剪贴板
`Ctrl` `C`| 将当前行或选定的块复制到剪贴板
`Ctrl` `V`| 从剪贴板粘贴
`Ctrl` `Shift` `V`| 从最近的缓冲区粘贴
`Ctrl` `D`| 复制当前行或选定的块
`Ctrl` `Y`| 删除插入符处的行
`Ctrl` `Shift` `J`| 智能线路加入
`Ctrl` `Enter`| 智能分线
`Shift` `Enter`| 开始新行
`Ctrl` `Shift` `U`| 在插入符号或选定块处切换单词的大小写
`Ctrl` `Shift` `]` _/_ `[`| 选择直到代码块结束/开始
`Ctrl` `Backspace`| 删除到词尾/开头
`Ctrl` `+` _/_ `-`| 展开/折叠代码块
`Ctrl` `Shift` `+`| 展开全部
`Ctrl` `Shift` `-`| 全部收缩
`Ctrl` `F4`| 关闭活动编辑器选项卡
<!--rehype:className=shortcuts-->

### 使用搜索

快捷键 | 说明
:-- | --
`Alt` `F7` _/_ `Ctrl` `F7`| 查找用法/在文件中查找用法
`Ctrl` `Shift` `F7`| 突出显示文件中的用法
`Ctrl` `Alt` `F7`| 显示用法
<!--rehype:className=shortcuts-->

### 导航
<!--rehype:wrap-class=row-span-4-->

快捷键 | 说明
:-- | --
`Ctrl` `N`| 去 class
`Ctrl` `Shift` `N`| 转到文件
`Ctrl` `Alt` `Shift` `N`| 转到符号
`Alt` `Right` _/_ `Left`| 转到下一个/上一个编辑器选项卡
`F12`| 返回上一个工具窗口
`Esc`| 转到编辑器
`Shift` `Esc`| 隐藏活动或最后一个活动窗口
`Ctrl` `Shift` `F4`| 关闭活动运行，消息...
`Ctrl` `G`| 导航到行:列
`Ctrl` `E`| 最近的文件弹出窗口
`Ctrl` `Alt` `Left` _/_ `Right`| 向后/向前导航
`Ctrl` `Shift` `Backspace`| 导航到上次编辑位置
`Alt` `F1`| 在任何视图中选择当前文件或符号
`Ctrl` `B` _/_ `Ctrl` `Click`| 去申报
`Ctrl` `Alt` `B`| 转到实施
`Ctrl` `Shift` `I`| 打开快速定义查找
`Ctrl` `Shift` `B`| 转到类型声明
`Ctrl` `U`| 转到超方法/超类
`Alt` `Up` _/_ `Down`| 转到上一个/下一个方法
`Ctrl` `]/[`| 移动到代码块结束/开始
`Ctrl` `F12`| 文件结构弹出窗口
`Ctrl` `H`| 类型层次结构
`Ctrl` `Shift` `H`| 方法层次
`Ctrl` `Alt` `H`| 调用层级
`F2` _/_ `Shift` `F2`| 下一个/上一个突出显示的错误
`F4` _/_ `Ctrl` `Enter`| 编辑源/查看源
`Alt` `Home`| 显示导航栏
`F11`| 切换书签
`Ctrl` `F11`| 使用助记符切换书签
`Ctrl` `0...9`| 转到编号书签
`Shift` `F11`| 显示书签
<!--rehype:className=shortcuts-->

### 搜索/替换

快捷键 | 说明
:-- | --
`Double Shift`| 到处搜索
`Ctrl` `F`| 寻找
`F3` `Shift` `F3`| 查找下一个/查找上一个
`Ctrl` `R`| 代替
`Ctrl` `Shift` `F`| 在路径中查找
`Ctrl` `Shift` `R`| 在路径中替换
<!--rehype:className=shortcuts-->

### 实时模板

快捷键 | 说明
:-- | --
`Ctrl` `Alt` `J` | 用实时模板环绕
`Ctrl` `J` | 插入实时模板
`iter` | 按照Java SDK 1.5风格迭代
`inst` | 使用 instanceof 检查对象类型并将其向下转换
`itco` | 迭代 java.util.Collection 的元素
`itit` | 迭代 java.util.Iterator 的元素
`itli` | 迭代 java.util.List 的元素
`psf` | 公共静态决赛
`thr` | 扔新的
<!--rehype:className=shortcuts-->

### 重构

快捷键 | 说明
:-- | --
`F5` | 复制
`F6` | 移动
`Alt` `Delete` | 安全删除
`Shift` `F6` | 改名
`Ctrl` `F6` | 更改签名
`Ctrl` `Alt` `N` | 排队
`Ctrl` `Alt` `M` | 提取方法
`Ctrl` `Alt` `V` | 提取变量
`Ctrl` `Alt` `F` | 提取字段
`Ctrl` `Alt` `C` | 提取常量
`Ctrl` `Alt` `P` | 提取参数
<!--rehype:className=shortcuts-->

### 调试

快捷键 | 说明
:-- | --
`F8/F7` | 跨过/进入
`Shift` `F7` _/_ `Shift` `F8` | 智能步入/走出
`Alt` `F9` | 运行到光标处
`Alt` `F8` | 评估表达
`F9` | 恢复程序
`Ctrl` `F8` | 切换断点
`Ctrl` `Shift` `F8` | 查看断点
<!--rehype:className=shortcuts-->

### 编译运行

快捷键 | 说明
:-- | --
`Ctrl` `F9` | 做项目
`Ctrl` `Shift` `F9` | 编译选定的文件、包或模块
`Alt` `Shift` `F10` _/_ `F9` | 选择配置并运行/和调试
`Shift` `F10` _/_ `F9` | 运行/调试
`Ctrl` `Shift` `F10` | 从编辑器运行上下文配置
<!--rehype:className=shortcuts-->

### VCS/本地历史

快捷键 | 说明
:-- | --
`Ctrl` `K` | 提交项目到 VCS
`Ctrl` `T` | 从 VCS 更新
`Alt` `Shift` `C` | 查看最近的更改
`Alt` <kbd>\`</kbd>  | VCS 操作弹出窗口
<!--rehype:className=shortcuts-->

### 一般的

快捷键 | 说明
:-- | --
`Alt` `0...9` | 打开相应的工具窗口
`Ctrl` `S` | 保存全部
`Ctrl` `Alt` `Y` | 同步
`Ctrl` `Shift` `F12` | 切换最大化编辑器
`Alt` `Shift` `F` | 添加到收藏夹
`Alt` `Shift` `I` | 检查当前文件
`Ctrl` <kbd>\`</kbd> | 快速切换电流方案
`Ctrl` `Alt` `S` | 打开设置对话框
`Ctrl` `Alt` `Shift` `S` | 打开项目结构对话框
`Ctrl` `Shift` `A` | 寻找行动
`Ctrl` `Tab` | 在工具和选项卡之间切换
<!--rehype:className=shortcuts-->
