IntelliJ IDEA 快捷键完全指南:从入门到高效开发
在 Java 开发中,IntelliJ IDEA 是很多开发者首选的集成开发环境。它不仅拥有强大的代码补全、重构、调试和项目管理能力,更重要的是,它提供了一套非常高效的快捷键体系。熟练掌握 IDEA 快捷键,可以显著减少鼠标操作,让开发者把更多精力放在代码逻辑本身。
本文将系统介绍 IntelliJ IDEA 中常用且实用的快捷键,内容涵盖代码编写、查找跳转、重构、调试、运行、版本控制、窗口管理等多个方面。无论你是刚开始使用 IDEA 的新手,还是希望进一步提升效率的开发者,都可以从中找到适合自己的快捷键使用方法。
说明:本文主要以 Windows / Linux 快捷键为主,同时会在必要位置补充 macOS 对应快捷键。macOS 中通常使用
Command代替Ctrl,使用Option代替Alt。
一、为什么要学习 IDEA 快捷键?
很多初学者使用 IDEA 时,习惯通过右键菜单或顶部菜单栏完成操作,例如新建类、运行程序、格式化代码、查找文件等。虽然这种方式直观,但在实际开发中效率较低。
快捷键的价值主要体现在以下几个方面:
-
减少鼠标依赖
写代码时频繁切换键盘和鼠标,会打断思路。快捷键可以让你始终保持在键盘输入状态。
-
提高开发速度
例如查找类、跳转方法、生成代码、重构变量名等操作,使用快捷键往往只需要一两秒。
-
减少重复劳动
IDEA 提供了很多自动化功能,比如自动生成构造方法、Getter/Setter、重写方法、环绕代码块等,掌握快捷键后可以快速调用这些功能。
-
提升代码质量
格式化代码、优化导入、快速修复错误、统一重构命名等快捷键,可以帮助代码保持整洁规范。
二、快捷键学习前的准备
1. 查看当前快捷键方案
IDEA 支持多种快捷键方案,例如:
- Windows 默认方案
- macOS 默认方案
- Eclipse 风格快捷键
- Visual Studio 风格快捷键
查看方式:
text
File → Settings → Keymap
macOS:
text
IntelliJ IDEA → Settings → Keymap
在这里可以查看、搜索、修改所有快捷键。
2. 解决快捷键冲突
有些快捷键可能与系统、输入法或其他软件冲突。比如:
Ctrl + Alt + L在 IDEA 中是格式化代码,但有些系统可能会被输入法或系统快捷键占用。Ctrl + Space在 IDEA 中是基础代码补全,但在很多中文输入法中用于切换输入法。
如果快捷键不生效,可以到 Settings → Keymap 中重新设置,或者关闭系统/输入法中的冲突快捷键。
三、最常用的基础快捷键
1. 保存文件
text
Ctrl + S
macOS:
text
Command + S
虽然 IDEA 通常会自动保存文件,但手动保存仍然是很多开发者的习惯。
2. 撤销和恢复
撤销:
text
Ctrl + Z
恢复:
text
Ctrl + Shift + Z
macOS:
text
Command + Z
Command + Shift + Z
这两个快捷键适用于几乎所有编辑场景。
3. 复制、剪切、粘贴
复制:
text
Ctrl + C
剪切:
text
Ctrl + X
粘贴:
text
Ctrl + V
macOS:
text
Command + C
Command + X
Command + V
4. 全选
text
Ctrl + A
macOS:
text
Command + A
四、代码编写相关快捷键
1. 基础代码补全
text
Ctrl + Space
macOS:
text
Control + Space
作用:根据当前上下文提示变量、方法、类名等内容。
例如输入:
java
System.out.pr
按下 Ctrl + Space 后,IDEA 可能提示 println。
如果
Ctrl + Space被输入法占用,可以在 Keymap 中修改为其他快捷键。
2. 智能代码补全
text
Ctrl + Shift + Space
macOS:
text
Control + Shift + Space
智能补全比基础补全更强,它会根据类型进行过滤。
例如某个方法需要传入 String 类型参数,智能补全会优先提示当前作用域中的 String 变量。
3. 代码模板补全
text
Ctrl + J
macOS:
text
Command + J
作用:查看并插入 Live Templates。
常见模板包括:
text
main
sout
fori
iter
ifn
inn
psvm
例如输入:
java
sout
然后按 Tab 或回车,可以快速生成:
java
System.out.println();
输入:
java
psvm
可以生成:
java
public static void main(String[] args) {
}
在新版 IDEA 中,也可以输入 main 生成主方法。
4. 自动导入类
text
Alt + Enter
macOS:
text
Option + Enter
这是 IDEA 中最重要的快捷键之一。它不仅可以导入类,还可以进行快速修复。
例如写下:
java
List<String> names = new ArrayList<>();
如果 List 和 ArrayList 没有导入,IDEA 会标红。此时将光标放在标红处,按 Alt + Enter,就可以选择自动导入。
5. 快速修复错误
text
Alt + Enter
除了自动导包,它还可以用于:
- 创建不存在的类
- 创建不存在的方法
- 创建局部变量
- 修改方法返回值
- 将表达式提取为变量
- 添加异常处理
- 简化代码写法
例如:
java
Thread.sleep(1000);
如果没有处理异常,IDEA 会报错。按 Alt + Enter 可以选择:
- 添加
throws InterruptedException - 使用
try-catch包裹代码
6. 生成代码
text
Alt + Insert
macOS:
text
Command + N
这个快捷键可以自动生成常见代码结构,例如:
- Constructor 构造方法
- Getter
- Setter
- Getter and Setter
- equals and hashCode
- toString
- Override Methods
- Implement Methods
例如有一个类:
java
public class Student {
private String name;
private int age;
}
按 Alt + Insert,选择 Getter and Setter,即可自动生成对应方法。
7. 重写父类方法
text
Ctrl + O
macOS:
text
Control + O
用于重写父类或接口中的方法。
例如继承某个类后,按 Ctrl + O 可以快速选择要重写的方法。
8. 实现接口方法
text
Ctrl + I
macOS:
text
Control + I
如果一个类实现了接口,可以使用该快捷键快速生成接口中未实现的方法。
9. 删除当前行
text
Ctrl + Y
macOS 常用:
text
Command + Backspace
Windows / Linux 中,Ctrl + Y 可以快速删除光标所在行,不需要先选中整行。
10. 复制当前行到下一行
text
Ctrl + D
macOS:
text
Command + D
非常适合复制相似代码。
例如:
java
System.out.println("A");
按 Ctrl + D 后会复制为:
java
System.out.println("A");
System.out.println("A");
11. 移动当前行
向上移动:
text
Ctrl + Shift + ↑
向下移动:
text
Ctrl + Shift + ↓
macOS:
text
Command + Shift + ↑
Command + Shift + ↓
用于调整代码顺序,非常方便。
12. 注释代码
单行注释:
text
Ctrl + /
多行注释:
text
Ctrl + Shift + /
macOS:
text
Command + /
Command + Shift + /
例如选中多行代码,按 Ctrl + /,每一行前面都会添加 //。
五、代码格式化与优化快捷键
1. 格式化代码
text
Ctrl + Alt + L
macOS:
text
Command + Option + L
作用:按照代码风格设置自动格式化当前文件或选中代码。
例如格式混乱的代码:
java
public class Test{public static void main(String[] args){System.out.println("Hello");}}
格式化后:
java
public class Test {
public static void main(String[] args) {
System.out.println("Hello");
}
}
2. 优化导入
text
Ctrl + Alt + O
macOS:
text
Control + Option + O
作用:删除未使用的 import,并整理 import 顺序。
例如:
java
import java.util.List;
import java.util.Map;
如果代码中没有使用 Map,优化导入后会自动删除。
3. 自动缩进当前行或选中代码
text
Ctrl + Alt + I
macOS:
text
Control + Option + I
它和格式化代码不同,主要用于调整缩进。
六、查找与搜索快捷键
1. 查找当前文件中的内容
text
Ctrl + F
macOS:
text
Command + F
用于在当前文件中查找关键词。
2. 替换当前文件中的内容
text
Ctrl + R
macOS:
text
Command + R
用于在当前文件中替换文本。
3. 全局查找
text
Ctrl + Shift + F
macOS:
text
Command + Shift + F
可以在整个项目中查找关键词。
例如想查找项目中所有 getUserName 的位置,可以使用这个快捷键。
4. 全局替换
text
Ctrl + Shift + R
macOS:
text
Command + Shift + R
可以在整个项目范围内替换文本。使用时一定要谨慎,尤其是在大型项目中。
5. 查找类
text
Ctrl + N
macOS:
text
Command + O
用于快速打开某个类。
例如输入:
text
StudentService
即可快速跳转到该类。
6. 查找文件
text
Ctrl + Shift + N
macOS:
text
Command + Shift + O
用于快速打开项目中的文件。
比如:
text
application.yml
pom.xml
index.html
7. 查找符号
text
Ctrl + Alt + Shift + N
macOS:
text
Command + Option + O
可以查找方法名、变量名、字段名等符号。
8. 万能搜索
text
Shift + Shift
连续按两次 Shift,可以打开 Search Everywhere。
这是 IDEA 中非常强大的搜索入口,可以搜索:
- 类
- 文件
- 方法
- 操作命令
- 设置项
- 最近打开内容
如果你记不住某个功能在哪里,可以直接使用 Shift + Shift 搜索功能名称。
七、代码跳转快捷键
1. 跳转到定义
text
Ctrl + 鼠标左键
或者:
text
Ctrl + B
macOS:
text
Command + B
用于跳转到变量、方法、类的定义位置。
2. 跳转到实现类
text
Ctrl + Alt + B
macOS:
text
Command + Option + B
当光标位于接口或抽象方法上时,可以跳转到具体实现类。
3. 查看方法调用位置
text
Alt + F7
macOS:
text
Option + F7
用于查找某个方法、类、变量在哪里被使用。
4. 快速查看定义
text
Ctrl + Shift + I
macOS:
text
Command + Y
无需跳转到文件中,就可以弹出一个小窗口查看定义内容。
5. 查看文档注释
text
Ctrl + Q
macOS:
text
F1
用于查看类、方法、参数的文档说明。
6. 返回上一个位置
text
Ctrl + Alt + ←
macOS:
text
Command + Option + ←
当你跳转到多个文件后,可以用这个快捷键返回上一个光标位置。
7. 前进到下一个位置
text
Ctrl + Alt + →
macOS:
text
Command + Option + →
与返回相反,用于前进到刚才返回前的位置。
八、重构相关快捷键
重构是 IDEA 的核心能力之一。相比手动修改代码,使用重构功能可以更安全、更准确。
1. 重命名
text
Shift + F6
用于重命名变量、方法、类、包名等。
例如将变量:
java
String n = "Tom";
重命名为:
java
String name = "Tom";
使用 Shift + F6 可以自动修改所有引用位置,而不是只改当前这一处。
2. 提取变量
text
Ctrl + Alt + V
macOS:
text
Command + Option + V
例如:
java
System.out.println(user.getName().toUpperCase());
选中 user.getName().toUpperCase(),按快捷键后可以提取为:
java
String upperName = user.getName().toUpperCase();
System.out.println(upperName);
3. 提取常量
text
Ctrl + Alt + C
macOS:
text
Command + Option + C
适合将魔法值提取为常量。
例如:
java
if (status == 1) {
System.out.println("正常");
}
可以将 1 提取为:
java
private static final int STATUS_NORMAL = 1;
4. 提取字段
text
Ctrl + Alt + F
macOS:
text
Command + Option + F
用于将局部变量或表达式提取为类的成员字段。
5. 提取方法
text
Ctrl + Alt + M
macOS:
text
Command + Option + M
这是非常常用的重构快捷键。
例如一段方法太长:
java
public void register(User user) {
if (user == null) {
throw new IllegalArgumentException("user cannot be null");
}
if (user.getName() == null || user.getName().isEmpty()) {
throw new IllegalArgumentException("name cannot be empty");
}
System.out.println("保存用户");
}
可以将校验逻辑提取为:
java
private void validateUser(User user) {
if (user == null) {
throw new IllegalArgumentException("user cannot be null");
}
if (user.getName() == null || user.getName().isEmpty()) {
throw new IllegalArgumentException("name cannot be empty");
}
}
这样代码结构会更清晰。
6. 内联变量或方法
text
Ctrl + Alt + N
macOS:
text
Command + Option + N
与提取相反,内联可以把变量或方法内容直接合并回调用处。
7. 打开重构菜单
text
Ctrl + Alt + Shift + T
macOS:
text
Control + T
可以打开重构菜单,其中包含:
- Rename
- Change Signature
- Move
- Copy
- Extract Method
- Extract Variable
- Inline
九、运行和调试快捷键
1. 运行当前程序
text
Shift + F10
运行当前配置的程序。
如果你已经运行过某个 main 方法,之后可以直接使用这个快捷键再次运行。
2. 调试当前程序
text
Shift + F9
以 Debug 模式运行程序。
3. 运行当前光标所在的 main 方法或测试
text
Ctrl + Shift + F10
macOS:
text
Control + Shift + R
如果光标在某个 main 方法中,按下快捷键会运行该方法。
如果光标在某个测试方法中,会运行该测试。
4. 添加或取消断点
text
Ctrl + F8
macOS:
text
Command + F8
断点是调试程序的重要工具。你也可以直接点击代码行号左侧区域添加断点。
5. 单步跳过
text
F8
表示执行当前行代码,如果当前行调用了方法,不进入方法内部。
适合快速向下执行。
6. 单步进入
text
F7
表示执行当前行代码,如果当前行调用了方法,则进入方法内部。
适合查看方法内部执行细节。
7. 强制进入方法
text
Alt + Shift + F7
普通 F7 有时不会进入某些方法,比如 JDK 内部方法。强制进入可以更深入查看执行过程。
8. 跳出当前方法
text
Shift + F8
当你已经进入某个方法内部,但不想继续逐行执行,可以使用该快捷键跳出当前方法。
9. 继续运行到下一个断点
text
F9
程序会继续执行,直到遇到下一个断点或程序结束。
10. 查看表达式值
text
Alt + F8
macOS:
text
Option + F8
在 Debug 模式下,可以输入表达式并查看结果。
例如输入:
java
user.getName()
IDEA 会显示当前运行时的值。
十、文件和项目管理快捷键
1. 新建文件、类或包
text
Alt + Insert
在 Project 窗口中使用该快捷键,可以新建:
- Java Class
- Package
- File
- Directory
- Kotlin Class/File
- HTML File
- Stylesheet
如果右键菜单中没有 Java Class,通常需要检查:
- 当前目录是否被标记为
Sources Root - 项目是否配置了 JDK
- Java 插件是否启用
- 包名是否合法
2. 打开项目结构设置
text
Ctrl + Alt + Shift + S
macOS:
text
Command + ;
可以配置:
- Project SDK
- Modules
- Libraries
- Facets
- Artifacts
3. 最近打开的文件
text
Ctrl + E
macOS:
text
Command + E
可以快速切换最近编辑过的文件。
4. 最近修改的位置
text
Ctrl + Shift + E
macOS:
text
Command + Shift + E
不仅能看到最近打开的文件,还能看到最近修改过的代码位置。
5. 关闭当前编辑器标签页
text
Ctrl + F4
macOS:
text
Command + W
十一、窗口和面板快捷键
1. 打开或关闭 Project 面板
text
Alt + 1
macOS:
text
Command + 1
这是最常用的工具窗口快捷键之一。
2. 打开 Run 面板
text
Alt + 4
macOS:
text
Command + 4
3. 打开 Debug 面板
text
Alt + 5
macOS:
text
Command + 5
4. 打开 Terminal 面板
text
Alt + F12
macOS:
text
Option + F12
可以直接在 IDEA 中打开终端,执行 Maven、Gradle、Git 等命令。
5. 隐藏所有工具窗口
text
Ctrl + Shift + F12
macOS:
text
Command + Shift + F12
可以让编辑区最大化,专注写代码。
十二、版本控制 Git 快捷键
IDEA 对 Git 的支持非常完善,很多 Git 操作都可以通过快捷键完成。
1. 打开版本控制操作菜单
text
Alt + `
macOS:
text
Control + V
这个菜单中通常包含:
- Commit
- Push
- Pull
- Branches
- Show History
- Rollback
- Stash Changes
2. 提交代码
text
Ctrl + K
macOS:
text
Command + K
打开 Commit 窗口,可以选择文件并填写提交信息。
3. 推送代码
text
Ctrl + Shift + K
macOS:
text
Command + Shift + K
将本地提交推送到远程仓库。
4. 查看文件修改历史
在文件中右键可以选择:
text
Git → Show History
也可以通过 `Alt + `` 打开版本控制菜单快速进入。
十三、常用编辑增强快捷键
1. 选中当前单词并逐步扩大选择范围
text
Ctrl + W
macOS:
text
Option + ↑
连续按会逐步扩大选择范围:
- 当前单词
- 当前表达式
- 当前语句
- 当前代码块
- 当前方法
- 当前类
2. 缩小选择范围
text
Ctrl + Shift + W
macOS:
text
Option + ↓
与扩大选择相反。
3. 环绕代码
text
Ctrl + Alt + T
macOS:
text
Command + Option + T
可以快速用以下结构包裹选中代码:
- if
- if / else
- while
- do / while
- for
- try / catch
- synchronized
- Runnable
例如选中:
java
System.out.println("Hello");
按 Ctrl + Alt + T,选择 try / catch,可以生成:
java
try {
System.out.println("Hello");
} catch (Exception e) {
e.printStackTrace();
}
4. 大小写转换
text
Ctrl + Shift + U
macOS:
text
Command + Shift + U
可以在大写和小写之间切换。
5. 多光标编辑
按住:
text
Alt
然后用鼠标点击多个位置,可以创建多个光标。
也可以使用:
text
Alt + Shift + 鼠标拖动
进行列编辑。
多光标适合同时修改多行相似内容。
十四、异常处理和代码修复常用技巧
1. 快速添加 try-catch
当代码需要处理异常时,按:
text
Alt + Enter
选择:
text
Surround with try/catch
例如:
java
FileInputStream fis = new FileInputStream("a.txt");
如果没有处理异常,IDEA 会提示,可以一键包裹异常处理。
2. 快速创建方法
当你调用一个不存在的方法:
java
printUserInfo(user);
IDEA 会标红。此时按:
text
Alt + Enter
选择创建方法,即可生成:
java
private void printUserInfo(User user) {
}
3. 快速创建变量
例如:
java
name = "Tom";
如果 name 未定义,按 Alt + Enter 可以选择创建局部变量或字段。
十五、测试相关快捷键
1. 生成测试类
text
Ctrl + Shift + T
macOS:
text
Command + Shift + T
可以在类和测试类之间跳转。如果测试类不存在,IDEA 会提示创建。
2. 运行测试
将光标放在测试方法或测试类中,按:
text
Ctrl + Shift + F10
可以运行当前测试。
3. Debug 测试
可以先运行测试,再使用 Debug 配置,或者点击测试方法左侧的运行图标选择 Debug。
常见 Debug 快捷键仍然是:
text
F7
F8
F9
Shift + F8
Alt + F8
十六、Maven 和 Gradle 项目中的快捷操作
虽然 Maven 和 Gradle 很多操作可以通过右侧工具栏完成,但使用快捷键和搜索会更高效。
1. 打开 Maven 或 Gradle 面板
通常可以通过右侧工具窗口打开。如果找不到,可以使用:
text
Shift + Shift
搜索:
text
Maven
Gradle
2. 执行 Maven 命令
打开 Terminal:
text
Alt + F12
然后执行:
bash
mvn clean
mvn compile
mvn test
mvn package
3. 执行 Gradle 命令
bash
gradle build
gradle test
或者:
bash
./gradlew build
./gradlew test
十七、适合新手优先掌握的快捷键清单
如果一次记太多快捷键会有压力,可以先掌握下面这些最常用的。
| 功能 | Windows / Linux | macOS |
|---|---|---|
| 快速修复 / 自动导包 | Alt + Enter | Option + Enter |
| 格式化代码 | Ctrl + Alt + L | Command + Option + L |
| 优化导入 | Ctrl + Alt + O | Control + Option + O |
| 删除当前行 | Ctrl + Y | Command + Backspace |
| 复制当前行 | Ctrl + D | Command + D |
| 单行注释 | Ctrl + / | Command + / |
| 查找文件 | Ctrl + Shift + N | Command + Shift + O |
| 查找类 | Ctrl + N | Command + O |
| 万能搜索 | Shift + Shift | Shift + Shift |
| 跳转定义 | Ctrl + B | Command + B |
| 查找使用位置 | Alt + F7 | Option + F7 |
| 重命名 | Shift + F6 | Shift + F6 |
| 提取方法 | Ctrl + Alt + M | Command + Option + M |
| 生成代码 | Alt + Insert | Command + N |
| 运行程序 | Shift + F10 | Control + R |
| Debug 程序 | Shift + F9 | Control + D |
| 打开终端 | Alt + F12 | Option + F12 |
十八、快捷键学习建议
1. 不要一次背完所有快捷键
IDEA 的快捷键非常多,但并不是每一个都需要立刻掌握。建议先从高频操作开始,例如:
Alt + EnterCtrl + Alt + LCtrl + DCtrl + /Shift + ShiftCtrl + NCtrl + Shift + NShift + F6
这些快捷键每天都会用到,熟练之后再逐步学习重构、调试、版本控制相关快捷键。
2. 遇到重复操作时主动寻找快捷键
当你发现某个操作经常通过鼠标完成时,可以思考:这个操作有没有快捷键?
例如:
- 经常右键新建类 → 学习
Alt + Insert - 经常手动导包 → 学习
Alt + Enter - 经常查找文件 → 学习
Ctrl + Shift + N - 经常重命名变量 → 学习
Shift + F6
3. 使用 Keymap 搜索快捷键
打开:
text
Settings → Keymap
可以搜索具体功能名称,例如:
text
Reformat Code
Optimize Imports
Rename
Extract Method
Generate
然后查看或修改对应快捷键。
4. 通过 Search Everywhere 搜索功能
当你不知道某个功能在哪里时,按:
text
Shift + Shift
直接输入功能名称。
例如输入:
text
Reformat Code
IDEA 会显示该功能以及对应快捷键。
十九、常见问题解答
1. 为什么快捷键不生效?
常见原因包括:
- 快捷键被系统占用
- 快捷键被输入法占用
- 当前焦点不在编辑器中
- Keymap 方案发生变化
- 插件没有启用
- 操作位置不正确
例如 Alt + Insert 在编辑器中是生成代码,在 Project 面板中是新建文件,两者效果不同。
2. 为什么右键 New 中没有 Java Class?
可能原因:
- 当前目录不是 Sources Root
- 项目没有配置 JDK
- Java 插件未启用
- 当前目录或包名不合法
- 当前项目不是 Java 项目结构
解决方法:
- 右键
src→Mark Directory as→Sources Root - 检查
File → Project Structure → Project SDK - 检查
Settings → Plugins → Java - 使用合法包名,例如
com.example.demo
3. Ctrl + Space 和输入法冲突怎么办?
可以修改 IDEA 快捷键:
text
Settings → Keymap → Main menu → Code → Code Completion → Basic
也可以修改输入法快捷键,避免冲突。
4. Windows、Linux、macOS 快捷键为什么不同?
因为不同系统的键盘布局和系统快捷键不同。macOS 中常用:
Command替代CtrlOption替代AltControl用于部分特殊操作
建议根据自己的系统查看 IDEA 的 Keymap。
二十、总结
IntelliJ IDEA 的快捷键体系非常强大,熟练使用后可以明显提升编码效率。对于初学者来说,不需要一开始就记住所有快捷键,而应该从最常用、最能提高效率的快捷键开始。
建议优先掌握以下几个核心快捷键:
text
Alt + Enter 快速修复 / 自动导包
Ctrl + Alt + L 格式化代码
Ctrl + Alt + O 优化导入
Ctrl + D 复制当前行
Ctrl + / 注释代码
Shift + Shift 万能搜索
Ctrl + N 查找类
Ctrl + Shift + N 查找文件
Shift + F6 重命名
Ctrl + Alt + M 提取方法
Alt + Insert 生成代码 / 新建文件
Shift + F10 运行程序
Shift + F9 Debug 程序
当这些快捷键逐渐形成肌肉记忆后,你会发现 IDEA 不只是一个编辑器,而是一个真正能帮助你理解代码、组织代码、重构代码和调试程序的高效开发工具。
快捷键的本质不是为了"炫技",而是为了让开发过程更加顺畅。少一点重复操作,多一点专注思考,这才是学习 IDEA 快捷键最大的意义。