#IDEA #Keymap
IntelliJ IDEA 作为一款强大的 IDE,拥有丰富的功能和快捷键,熟练掌握这些快捷键可以显著提高开发效率。本文将从入门到精通,带你全面了解 IntelliJ IDEA 的常用快捷键,并提供一些使用技巧和实战案例。
一、基础操作
1. 编辑操作
| 操作 | Windows | Mac | 说明 |
| 剪切 | Ctrl + X | ⌘X | 剪切选中的代码或文本 |
| 复制 | Ctrl + C | ⌘C | 复制选中的代码或文本 |
| 粘贴 | Ctrl + V | ⌘V | 粘贴剪切板中的内容 |
| 撤销 | Ctrl + Z | ⌘Z | 撤销上一步操作 |
| 重做 | Ctrl + Y | ⌘Y | 重做上一步撤销的操作 |
| 删除光标所在行代码 | Ctrl + Y | ⌘Y | 删除光标所在行代码 |
| 复制光标所在行,并把复制内容插入下一行 | Ctrl + D | ⌘D | 复制光标所在行,并把复制内容插入下一行 |
| 递进式选择代码块 | Ctrl + W | ⌘W | 连续按会扩大选中范围,从词到句到段 |
| 在当前文件跳转到某一行的指定处 | Ctrl + G | ⌘G | 在当前文件跳转到某一行的指定处 |
| 字面量大小写切换 | Ctrl + Shift + U | ⌘⇧U | 字面量大小写切换 |
| 注释光标所在行代码 | Ctrl + / | ⌘/ | 注释光标所在行代码,会根据当前不同文件类型使用不同的注释符号 |
| 块注释 | Ctrl + Shift + / | ⌘⇧/ | 块注释 |
| 基础代码补全 | Ctrl + Space | ⌃Space | 基础代码补全,默认被输入法占用,需要进行修改,建议修改为 Ctrl + 逗号 |
| 智能代码补全 | Ctrl + Shift + Space | ⌃⇧Space | 智能代码补全 |
| 删除光标后面的单词或中文句 | Ctrl + Delete | ⌥Fn⌫ | 删除光标后面的单词或中文句 |
| 删除光标前面的单词或中文句 | Ctrl + BackSpace | ⌥⌦ | 删除光标前面的单词或中文句 |
| 光标跳转到当前单词/当前行的左侧开头位置 | Ctrl/Alt + 左方向键 | ⌥←/⌘← | 光标跳转到当前单词/当前行的左侧开头位置 |
| 光标跳转到当前单词/当前行的右侧开头位置 | Ctrl/Alt + 右方向键 | ⌥→/⌘→ | 光标跳转到当前单词/当前行的右侧开头位置 |
2. 代码块级编辑操作
| 操作 | Windows | Mac | 说明 |
| 展开代码块 | Ctrl + 加号 | ⌘+ | 展开代码块 |
| 折叠代码块 | Ctrl + 减号 | ⌘- | 折叠代码块 |
| 代码块全部折叠 | Ctrl + Shift + 减号 | ⌘⇧- | 代码块全部折叠 |
| 移动光标到当前所在代码的花括号开始/结束位置 | Ctrl + ]/Ctrl + [ | ⌘]/⌘[ | 移动光标到当前所在代码的花括号开始/结束位置 |
| 选择光标处到代码块结束/开始的范围 | Ctrl + Shift + ]/ Ctrl + Shift + [ | ⌘⇧]/⌘⇧[ | 选择光标处到代码块结束/开始的范围 |
| 重写父类方法 | Ctrl + O | ⌘O | 重写父类方法 |
| 实现方法 | Ctrl + I | ⌘I | 实现方法 |
| 包围代码 | Ctrl + Alt + T | ⌘⌥T | 使用 if..else, try..catch, for, synchronized 等包围选中的代码 |
| 生成代码 | Alt + Insert | ⌃↩/⌃N | 生成代码 (set/get 方法,构造函数等) |
| 插入自定义动态代码模板 | Ctrl + J | ⌘J | 插入自定义动态代码模板 |
| 动态代码模板环绕 | Ctrl + Alt + J | ⌘⌥J | 动态代码模板环绕 |
| 格式化代码 | Ctrl + Alt + L | ⌘⌥L | 格式化代码 |
| 优化 import | Ctrl + Alt + O | ⌘⌥O | 优化 import |
二、查询替换定位
1. 查看定义与文档
| 操作 | Windows | Mac | 说明 |
| 显示代码简要信息 | Ctrl + 鼠标悬浮代码上 | ⌘鼠标悬浮代码上 | 显示代码简要信息 |
| 快速查看文档 | Ctrl + Q | ⌃J/⌃鼠标中键 | 快速查看文档 (用在变量上,则显示变量初始化语句) |
| 方法参数提示显示 | Ctrl + P | ⌘P | 方法参数提示显示 |
| 在打开的文件标题上,弹出该文件路径 | Ctrl + 左键单击 | ⌘鼠标左键 | 在打开的文件标题上,弹出该文件路径 |
2. 查询使用情况
| 操作 | Windows | Mac | 说明 |
| 查看选择目标在项目中的使用 | Alt + F7 | ⌥F7(Fn) | 查看选择目标在项目中的使用 |
| 查看选择目标在本文件中的使用 | Ctrl + F7 | ⌘F7(Fn) | 查看选择目标在本文件中的使用 |
| 查看选择目标在本文件中的使用 (高亮显示) | Ctrl + Shift + F7 | ⌘⇧F7(Fn) | 查看选择目标在本文件中的使用 (高亮显示) |
| 依次遍历每个选中的目标 | F3 | F3(Fn) | 依次遍历每个选中的目标 |
3. 跳转定义与调用处
| 操作 | Windows | Mac | 说明 |
| 进入选择目标的定义处或使用处 | Ctrl + B/ Ctrl + 鼠标左键 | ⌘B/ ⌘鼠标左键 | 进入选择目标的定义处或使用处 |
| 进入选择目标的实现处 | Ctrl + Alt + B/ Ctrl + Alt + 鼠标左键 | ⌘⌥B/ ⌘⌥鼠标左键 | 进入选择目标的实现处 |
| 前往选择目标的父类的方法/接口定义 | Ctrl + U | ⌘U | 前往选择目标的父类的方法/接口定义 |
| 跳转到返回类型的声明处 | Ctrl + Shift + B | ⌘⇧B | 跳转到返回类型的声明处 |
4. 高级查询/定位/替换
| 操作 | Windows | Mac | 说明 |
| 文本查找 (当前文件) | Ctrl + F | ⌘F | 文本查找 (当前文件) |
| 文本替换 (当前文件) | Ctrl + R | ⌘R | 文本替换 (当前文件) |
| 文本查找 (全局) | Ctrl + Shift + F | ⌃⇧Fn F | 文本查找 (全局) |
| 文本替换 (全局) | Ctrl + Shift + R | ⌃⇧ R | 文本替换 (全局) |
| 根据输入的类名,查找类文件 | Ctrl + N | ⌘N | 根据输入的类名,查找类文件 |
| 根据输入的文件名,查找文件 | Ctrl + Shift + N | ⌘⇧ N | 根据输入的文件名,查找文件 |
| 查找在类中的方法 | Ctrl + Alt + Shift + N | ⌘⌥⇧N | 查找在类中的方法 |
| 查询任何东西 | 双击 Shift | 双击 ⇧ | 查询任何东西 |
| 查找动作 | Ctrl + Shift + A | ⇧⌘A | 查找动作 (说明书,很好用,当不记得快捷键时可以用这个查询) |
5. 错误与异常查询
| 操作 | Windows | Mac | 说明 |
| 依次定位每个错误或者警告 | F2 | F2(Fn) | 依次定位每个错误或者警告 |
| 在光标所在的错误代码处显示错误信息 | Ctrl + F1 | ⌘F1(Fn) | 在光标所在的错误代码处显示错误信息 |
| 显示意向动作和快速修复代码 | Alt + Enter | ⌥↩ | 显示意向动作和快速修复代码 |
| 查看外部文档 | 未知 | ⇧F1(Fn) | 查看外部文档 (在某些代码上会触发打开浏览器显示相关文档) |
三、导航
1. 代码文件结构
| 操作 | Windows | Mac | 说明 |
| 弹出当前文件结构层 | Ctrl + F12 | ⌘F12(Fn) | 弹出当前文件结构层,可以在弹出的层上直接输入进行筛选 (可用于搜索类中的方法) |
| 显示当前类的层次结构 | Ctrl + H | ⌃H | 显示当前类的层次结构 |
| 显示方法层次结构 | Ctrl + Shift + H | ⌘⇧H | 显示方法层次结构 |
| 显示调用层次结构 | Ctrl + Alt + H | ⌃⌥H | 显示调用层次结构 |
2. 操作记录查询
| 操作 | Windows | Mac | 说明 |
| 显示最近打开的文件记录列表 | Ctrl + E | ⌘E | 显示最近打开的文件记录列表 |
| 显示最近修改的文件记录列表 | Ctrl + Shift + E | ⌘⇧E | 显示最近修改的文件记录列表 |
| 查看最近的变更记录 | Alt + Shift + C | ⌥⇧C | 查看最近的变更记录 |
3. 跳转回退
| 操作 | Windows | Mac | 说明 |
| 退回/前进到上一个操作的地方 | Ctrl + Alt + 方向左键/方向右键 | ⌘⌥←/⌘⌥→ | 退回/前进到上一个操作的地方 |
| 跳转到最后一次编辑的地方 | Ctrl + Shift + BackSpace | ⌘⇧⌫ | 跳转到最后一次编辑的地方 |
4. 面板切换
| 操作 | Windows | Mac | 说明 |
| 左右切换打开的编辑 tab 页 | Ctrl + ←/Ctrl + → | 未知 | 左右切换打开的编辑 tab 页 |
| 显示所有的编辑 tab 页 | Ctrl + tab | ⌃⇥ | 显示所有的编辑 tab 页 |
| 返回到前一个工具窗口 | F12 | F12 | 返回到前一个工具窗口 |
5. 标签与收藏夹
| 操作 | Windows | Mac | 说明 |
| 选中文件/文件夹,使用助记符设定/取消书签 | Ctrl + F11 | ⌘F11(Fn) | 选中文件/文件夹,使用助记符设定/取消书签 |
| 直接设置数字标签 | Ctrl + Shift + 1,2,3...9 | ⌃⇧1,2,3...9 | 直接设置数字标签 |
| 定位到对应数值的书签位置 | Ctrl + 1,2,3...9 | ⌃1,2,3...9 | 定位到对应数值的书签位置 |
| 添加到收藏夹 | Alt + Shift + F | ⌥⇧F | 添加到收藏夹 |
| 查看已经设置的标签与收藏夹 | Alt + 2 (Favorites 面板) | ⌘2 (Favorites 面板) | 查看已经设置的标签与收藏夹 |
| 删除 favorites、Bookmarks | 在 Favorites 面板中,选中要删除的对象,按 delete | 在 Favorites 面板中,选中要删除的对象,按 ⌫ | 删除 favorites、Bookmarks |
四、重构
| 操作 | Windows | Mac | 说明 |
| 复制文件到指定目录 | F5 | F5 | 复制文件到指定目录 |
| 移动文件到指定目录 | F6 | F6 | 移动文件到指定目录 |
| 安全重命名文件、变量等 | Shift + F6 | ⇧F6 | 安全重命名文件、变量等 |
| 更改签名 | Ctrl + F6 | ⌘F6 | 更改签名 |
| 将选中的代码提取为方法 | Ctrl + Alt + M | ⌘⌥M | 将选中的代码提取为方法 |
| 提取变量 | Ctrl + Alt + V | ⌘⌥V | 提取变量 |
| 提取字段 | Ctrl + Alt + F | ⌘⌥F | 提取字段 |
| 提取常量 | Ctrl + Alt + C | ⌘⌥C | 提取常量 |
| 提取参数 | Ctrl + Alt + P | ⌘⌥P | 提取参数 |
五、调试
| 操作 | Windows | Mac | 说明 |
| 进入下一步 | F8 | F8(Fn) | 进入下一步,如果当前行断点是一个方法,则不进入当前方法体内 |
| 进入下一步 (进入方法) | F7 | F7(Fn) | 进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中 |
| 智能步入 | Shift + F7 | ⇧F7(Fn) | 智能步入,断点所在行上有多个方法调用,会弹出进入哪个方法 |
| 智能跳出 | Shift + F8 | ⇧F8(Fn) | |