IntelliJ IDEA 无鼠标开发深度实战:从快捷键到键盘流工作流

欢迎你来读这篇博客,这篇博客主要是关于 IntelliJ IDEA 无鼠标开发实战

很多人学快捷键的方式是:收藏一张快捷键大全,然后三天后忘得干干净净。真正的无鼠标开发不是背快捷键,而是重建一套“键盘驱动的开发工作流”:找文件、跳代码、写代码、重构、调试、提交、跑命令,全程尽量不让手离开键盘。

序言

先说结论:无鼠标开发不是炫技,它的本质是减少上下文切换。

写 Java / Spring Boot 项目时,我们一天会反复做这些事:

  • 找 Controller、Service、Mapper、Repository;
  • 在接口、实现类、调用方、测试类之间跳转;
  • 生成构造器、Getter、Setter、Override 方法、测试方法;
  • 修复 import、补全语句、查看参数、查看文档;
  • 抽方法、改方法名、移动类、改包名;
  • 打断点、单步调试、查看表达式、重新运行;
  • 看 Git diff、挑选提交、commit、push;
  • 打开 Terminal 执行 Maven、Gradle、Docker、Git 命令。

如果每一步都要靠鼠标去侧边栏点来点去,IDEA 再强也会被你用成“高级记事本”。无鼠标开发的目标不是完全不用鼠标,而是做到:80%
的高频操作都能用键盘完成,鼠标只处理低频、图形化、一次性配置类操作。

本文默认你使用 IntelliJ IDEA 2026.1 左右版本,快捷键基于官方默认 Keymap。不同系统、不同 Keymap、不同插件可能会有差异,所以所有快捷键都建议最终以
Settings / Preferences -> Keymap 中显示的为准。

macOS 快捷键符号速查

符号 键位
Command
Option / Alt
Control
Shift
Enter
Escape
Delete / Forward Delete

正文

1. 无鼠标开发的核心思想

不要一上来就背 200 个快捷键。快捷键不是知识点,是肌肉记忆。肌肉记忆靠场景建立,而不是靠表格建立。

我建议把 IDEA 无鼠标能力拆成 7 层:

flowchart TB
    A[无鼠标开发能力] --> B[入口层: Search Everywhere / Find Action]
    A --> C[导航层: 文件 / 类 / 符号 / 调用链]
    A --> D[编辑层: 选择 / 移动 / 补全 / 生成]
    A --> E[重构层: Rename / Extract / Move / Safe Delete]
    A --> F[调试层: Run / Debug / Breakpoint / Evaluate]
    A --> G[工程层: Maven / Gradle / Terminal / Services]
    A --> H[协作层: Git / Diff / Commit / Push]

学习顺序也应该这样来:

flowchart LR
    A[第一阶段: 会找] --> B[第二阶段: 会跳]
    B --> C[第三阶段: 会写]
    C --> D[第四阶段: 会改]
    D --> E[第五阶段: 会调]
    E --> F[第六阶段: 会提交]
    F --> G[第七阶段: 形成工作流]

很多人一开始就学重构快捷键,但连“快速跳到文件”和“回到上一个编辑位置”都不熟,这就像还没学会走路就开始练凌波微步,帅是帅,容易摔。

2. 先把 Keymap 配好

IDEA 的快捷键入口在:

  • macOS:IntelliJ IDEA -> Settings -> Keymap,快捷键一般是 ⌘ ,
  • Windows / Linux:File -> Settings -> Keymap,快捷键一般是 Ctrl + Alt + S

建议先做 5 件事。

2.1 选择正确 Keymap

常见选择:

Keymap 适合人群
macOS Mac 用户默认推荐
Windows Windows 用户默认推荐
Eclipse 从 Eclipse 转 IDEA 的 Java 开发者
VS Code 从 VS Code 转 JetBrains 全家桶的人
Emacs 少数派,懂的都懂

不建议一开始就大改 Keymap。默认 Keymap 的最大优势是:教程、官方文档、同事沟通都容易对齐。

你可以小范围调整冲突严重的快捷键,但不要把 IDEA 改成一个只有你自己会用的武器库。团队开发不是武林大会,不要每个人都带一套独门暗器。

2.2 解决系统快捷键冲突

macOS 上比较常见的冲突:

冲突场景 现象 处理建议
Spotlight ⌘ Space 被系统占用 IDEA 默认补全不是这个,一般不用改
输入法切换 ⌃ Space / ⌘ Space 冲突 去系统键盘设置中调整
Mission Control ⌃ ↑ / ⌃ ↓ 冲突 如果影响 IDEA,可改系统快捷键
F1-F12 调试快捷键不生效 系统设置中启用标准功能键,或配合 fn 使用

Windows / Linux 上也可能出现窗口管理器、输入法、显卡驱动快捷键冲突。判断方式很简单:在 IDEA 的 Keymap 搜索该动作,看 IDEA
是否能识别按键;如果 IDEA 收不到,多半是系统先拦截了。

2.3 学会用 Find Action 找动作

你记不住快捷键没关系,但必须记住“找快捷键的快捷键”。

操作 macOS Windows / Linux
Find Action ⌘ ⇧ A Ctrl + Shift + A
Search Everywhere 连按两次 Shift 连按两次 Shift

Find Action 可以搜索 IDEA 里的几乎所有动作,比如:

  • Reformat Code
  • Optimize Imports
  • Rename
  • Extract Method
  • Run Inspection by Name
  • Git Pull
  • Maven Reload
  • Open Terminal
  • Show Services

最实用的学习方式是:先用 Find Action 找动作,再记住高频动作的快捷键。

3. 第一组必须形成肌肉记忆的快捷键

这 20 个快捷键是“键盘流”的地基。先练它们,比背快捷键大全更有用。

场景 macOS Windows / Linux 说明
Search Everywhere 双击 Shift 双击 Shift 全局入口,找类、文件、动作、设置
Find Action ⌘ ⇧ A Ctrl + Shift + A 找 IDEA 动作
Recent Files ⌘ E Ctrl + E 最近文件,比 Project 树快
Project 窗口 ⌘ 1 Alt + 1 打开 / 聚焦项目树
Terminal ⌥ F12 Alt + F12 打开内置终端
Run Anything 双击 双击 Ctrl 运行配置、Maven、Gradle 等
Intention / Quick Fix ⌥ ⏎ Alt + Enter IDEA 神技入口
Generate ⌘ N Alt + Insert 生成构造器、Getter、Setter 等
Reformat Code ⌘ ⌥ L Ctrl + Alt + L 格式化代码
Complete Statement ⌘ ⇧ ⏎ Ctrl + Shift + Enter 补全语句结构
Go to Declaration ⌘ B Ctrl + B 跳声明 / 跳使用处
Find Usages ⌥ F7 Alt + F7 查找使用处
Back ⌘ ⌥ ← Ctrl + Alt + Left 返回上一次位置
Forward ⌘ ⌥ → Ctrl + Alt + Right 前进
Last Edit Location ⌘ ⇧ ⌫ Ctrl + Shift + Backspace 回到最后编辑点
Extend Selection ⌥ ↑ Ctrl + W 智能扩大选择范围
Shrink Selection ⌥ ↓ Ctrl + Shift + W 缩小选择范围
Rename ⇧ F6 Shift + F6 安全重命名
Refactor This ⌃ T Ctrl + Alt + Shift + T 重构菜单
Commit ⌘ K Ctrl + K 提交代码

说明:macOS 的部分快捷键会受系统设置、触控栏、外接键盘影响,调试类 F 键尤其要注意。

4. 找文件:别再从 Project 树里一层层翻

无鼠标开发的第一步是“找得到”。

4.1 Search Everywhere:全局入口

快捷键:

  • macOS:双击 Shift
  • Windows / Linux:双击 Shift

适合搜索:

  • 类名:SettlementService
  • 文件名:application.yml
  • 方法名 / 字段名:calculateAmount
  • IDEA 动作:Maven Reload
  • 设置项:Keymap
  • Git 分支 / 提交信息等

技巧:

1
2
3
4
OrderController      # 找类
order controller # 模糊搜索
OC # CamelCase 搜索 OrderController
app yml # 找 application.yml

4.2 精准入口:类、文件、符号、动作

目标 macOS Windows / Linux 示例
找类 ⌘ O Ctrl + N OrderService
找文件 ⌘ ⇧ O Ctrl + Shift + N pom.xml
找符号 ⌘ ⌥ O Ctrl + Alt + Shift + N 方法、字段、常量
找动作 ⌘ ⇧ A Ctrl + Shift + A Maven Reload

实战建议:

  • 找 Java 类优先用“找类”;
  • 找配置、SQL、前端文件优先用“找文件”;
  • 找某个方法、枚举值、常量优先用“找符号”;
  • 不知道菜单在哪,直接用“找动作”。

4.3 Recent Files:比 Project 树更常用

快捷键:

  • macOS:⌘ E
  • Windows / Linux:Ctrl + E

开发时你通常只在 5~10 个文件之间来回切:Controller、Service、Repository、DTO、Mapper、测试类。Recent Files 比 Project 树快得多。

如果想只看最近编辑过的文件:

  • macOS:⌘ ⇧ E
  • Windows / Linux:Ctrl + Shift + E

这个快捷键对修 bug 很有用,因为 bug 修到一半你经常会忘记刚刚改了哪些文件。

5. 跳代码:从“看目录”切换到“看关系”

项目越大,目录树越没用。真正有效的是关系导航。

5.1 声明、实现、使用处

操作 macOS Windows / Linux 用途
Go to Declaration or Usages ⌘ B Ctrl + B 跳到声明或使用处
Go to Implementation ⌘ ⌥ B Ctrl + Alt + B 接口跳实现类
Go to Type Declaration ⌘ ⇧ B Ctrl + Shift + B 变量跳类型
Find Usages ⌥ F7 Alt + F7 全局查使用
Show Usages ⌘ ⌥ F7 Ctrl + Alt + F7 弹窗查看使用
Go to Super Method / Class ⌘ U Ctrl + U 跳父类 / 父方法

Spring 项目常用场景:

1
2
3
public interface OrderRepository {
OrderEntity findByOrderNo(String orderNo);
}
  • 光标放在 findByOrderNo 上,Find Usages 可以查业务调用方;
  • 光标放在接口名上,Go to Implementation 可以跳实现类;
  • 光标放在变量上,Go to Type Declaration 可以看具体类型;
  • 光标放在 Controller 方法上,Find Usages 可以看测试、Feign、内部调用。

5.2 返回与前进:别靠鼠标点 tab

操作 macOS Windows / Linux
返回上一个位置 ⌘ ⌥ ← Ctrl + Alt + Left
前进 ⌘ ⌥ → Ctrl + Alt + Right
回到最后编辑位置 ⌘ ⇧ ⌫ Ctrl + Shift + Backspace
文件 Tab 切换 ⌃ ← / ⌃ → Alt + Left / Alt + Right
Switcher ⌃ Tab Ctrl + Tab

这里最重要的是“返回”。你从 Controller 跳到 Service,从 Service 跳到 Repository,从 Repository 跳到 Entity
后,千万别再拿鼠标找原文件。用返回键一路回来,丝滑得像开了传送门。

5.3 文件结构:在一个大类里快速定位

快捷键:

  • macOS:⌘ F12
  • Windows / Linux:Ctrl + F12

适合场景:

  • 一个 Service 有很多方法;
  • 一个 Controller 有很多接口;
  • 一个枚举类有很多枚举项;
  • 一个配置类里有很多 Bean。

打开 File Structure 后直接输入方法名即可过滤。

6. 编辑代码:用“结构化编辑”替代手工挪代码

6.1 智能选择:Extend Selection

操作 macOS Windows / Linux
扩大选择 ⌥ ↑ Ctrl + W
缩小选择 ⌥ ↓ Ctrl + Shift + W

例如光标在下面的 amount 上:

1
BigDecimal result = amount.add(fee).subtract(discount);

连续按“扩大选择”,IDEA 会按语法结构选择:

1
2
3
4
amount
amount.add(fee)
amount.add(fee).subtract(discount)
BigDecimal result = amount.add(fee).subtract(discount);

这比你用鼠标拖拽精准得多,尤其适合抽变量、抽方法、包裹 try-catch。

6.2 行操作:复制、删除、移动、合并

操作 macOS Windows / Linux
复制当前行 / 选择区域 ⌘ D Ctrl + D
删除当前行 ⌘ ⌫ Ctrl + Y
上移语句 ⌘ ⇧ ↑ Ctrl + Shift + Up
下移语句 ⌘ ⇧ ↓ Ctrl + Shift + Down
上移行 ⌥ ⇧ ↑ Alt + Shift + Up
下移行 ⌥ ⇧ ↓ Alt + Shift + Down
合并行 ⌃ ⇧ J Ctrl + Shift + J

区别很关键:

  • Move Statement 是按语法结构移动,适合移动 if、方法、字段;
  • Move Line 是按文本行移动,适合简单调整配置或局部代码。

6.3 语句补全:Complete Current Statement

操作 macOS Windows / Linux
Complete Current Statement ⌘ ⇧ ⏎ Ctrl + Shift + Enter

它能自动补全括号、分号、代码块。

比如你输入:

1
if (order == null

按下语句补全后,IDEA 可以帮你补成:

1
2
3
if (order == null) {

}

再比如:

1
return Result.success(order)

按下后补分号:

1
return Result.success(order);

这个快捷键看起来不起眼,但非常适合 Java。因为 Java 代码里括号、分号、代码块太多了,手打久了像在给编译器做保姆。

6.4 代码生成:Generate

操作 macOS Windows / Linux
Generate ⌘ N Alt + Insert
Override Methods ⌃ O Ctrl + O
Implement Methods ⌃ I Ctrl + I

常用生成内容:

  • Constructor
  • Getter / Setter
  • equals / hashCode
  • toString
  • Override Methods
  • Delegate Methods
  • Test Method

在 Spring Boot 项目里,建议你少生成 Getter / Setter,多用 Lombok 或 record;但 Override、构造器、测试方法依然非常常用。

6.5 Quick Fix:Alt / Option + Enter 是 IDEA 的神键

操作 macOS Windows / Linux
Show Intention Actions ⌥ ⏎ Alt + Enter

常见场景:

  • 自动导包;
  • 创建不存在的类;
  • 创建不存在的方法;
  • 创建局部变量;
  • 转换 lambda / method reference;
  • 添加 throws 或 try-catch;
  • 修复泛型推断问题;
  • 替换为更简洁的表达式;
  • Spring 注入、Bean、配置相关提示。

实战示例:

1
OrderDTO dto = orderAssembler.toDTO(orderEntity);

如果 orderAssembler 不存在,把光标放上去,按 Alt / Option + Enter,IDEA 可能会提供:

  • Create field orderAssembler
  • Create local variable
  • Create parameter

这就是 IDEA 和普通编辑器最大的区别之一:它理解你的代码结构,而不是只替你补字母。

7. 重构:不要手动改名,不要全局替换

手动全局替换是事故高发地。IDEA 的重构能力很强,该用就用。

7.1 Rename:安全改名

操作 macOS Windows / Linux
Rename ⇧ F6 Shift + F6

适合:

  • 类名;
  • 方法名;
  • 字段名;
  • 参数名;
  • 包名;
  • 文件名;
  • Spring Bean 名称相关引用。

示例:

1
2
3
public BigDecimal calAmount(Order order) {
return order.getAmount();
}

calAmount 改成 calculateAmount,不要搜索替换。用 Rename,IDEA 会处理调用方、测试类、接口实现等引用。

7.2 Extract:抽变量、抽方法、抽字段

操作 macOS Windows / Linux
Extract Variable ⌘ ⌥ V Ctrl + Alt + V
Extract Method ⌘ ⌥ M Ctrl + Alt + M
Extract Field ⌘ ⌥ F Ctrl + Alt + F
Extract Parameter ⌘ ⌥ P Ctrl + Alt + P

抽方法示例:

1
2
3
4
5
6
7
public SettlementResult settle(SettlementCommand command) {
BigDecimal payableAmount = command.getStoreAmount()
.subtract(command.getFeeAmount())
.add(command.getOtherAmount());

return SettlementResult.of(payableAmount);
}

选中计算逻辑,抽成:

1
2
3
4
5
private BigDecimal calculatePayableAmount(SettlementCommand command) {
return command.getStoreAmount()
.subtract(command.getFeeAmount())
.add(command.getOtherAmount());
}

再由主流程调用:

1
2
3
4
public SettlementResult settle(SettlementCommand command) {
BigDecimal payableAmount = calculatePayableAmount(command);
return SettlementResult.of(payableAmount);
}

这比你手动剪切粘贴安全太多,IDEA 会帮你分析入参、返回值、局部变量作用域。

7.3 Refactor This:重构总入口

操作 macOS Windows / Linux
Refactor This ⌃ T Ctrl + Alt + Shift + T

当你不知道具体快捷键时,用这个菜单。常见选项:

  • Rename
  • Move
  • Copy
  • Safe Delete
  • Extract Method
  • Extract Interface
  • Change Signature
  • Inline

7.4 Change Signature:修改方法签名

操作 macOS Windows / Linux
Change Signature ⌘ F6 Ctrl + F6

适合场景:

  • 方法新增参数;
  • 调整参数顺序;
  • 修改参数名;
  • 修改返回类型;
  • 调整调用方默认值。

手动改方法签名容易漏调用方。Change Signature 可以让 IDEA 帮你统一更新。

8. 调试:键盘调试比鼠标点按钮快很多

8.1 Run / Debug 基础

操作 macOS Windows / Linux
Run context configuration ⌃ R Shift + F10
Debug context configuration ⌃ D Shift + F9
Run Anything 双击 双击 Ctrl
Stop ⌘ F2 Ctrl + F2
Run 工具窗口 ⌘ 4 Alt + 4
Debug 工具窗口 ⌘ 5 Alt + 5
Services 工具窗口 ⌘ 8 Alt + 8

Spring Boot 项目常用方式:

  1. 光标放到启动类;
  2. 使用 Run / Debug context configuration;
  3. 修改代码后重新运行;
  4. 使用 Services 工具窗口管理多个服务。

8.2 断点与单步调试

操作 macOS Windows / Linux 说明
Toggle Line Breakpoint ⌘ F8 Ctrl + F8 打 / 取消断点
View Breakpoints ⌘ ⇧ F8 Ctrl + Shift + F8 查看全部断点
Step Over F8 F8 跳过方法内部
Step Into F7 F7 进入方法
Smart Step Into ⇧ F7 Shift + F7 一行多个方法时选择进入哪个
Step Out ⇧ F8 Shift + F8 跳出当前方法
Resume Program ⌘ ⌥ R F9 继续执行
Run to Cursor ⌥ F9 Alt + F9 运行到光标处
Evaluate Expression ⌥ F8 Alt + F8 计算表达式

调试建议:

  • 一行代码多个方法调用时,用 Smart Step Into,不要狂按 Step Into;
  • 临时看某个表达式,用 Evaluate Expression,不要到处加日志;
  • 条件复杂时,用条件断点,不要让程序停 1000 次;
  • 看集合内容时,善用 Evaluate Expression 过滤数据。

8.3 条件断点实战

假设你只想在某个订单号时停下来:

1
2
3
4
public SettlementResult settle(Order order) {
// breakpoint here
return doSettle(order);
}

断点条件可以写:

1
"SO202606120001".equals(order.getOrderNo())

这样只有目标订单才会停。否则循环里打断点,IDEA 会像门卫一样每个人都拦,调试体验直接爆炸。

9. Git:用键盘完成 diff、提交与推送

9.1 Git 高频快捷键

操作 macOS Windows / Linux
Commit ⌘ K Ctrl + K
Push ⌘ ⇧ K Ctrl + Shift + K
Update Project / Pull ⌘ T Ctrl + T
VCS Operations Popup ⌃ V `Alt + ``
Version Control / Git 窗口 ⌘ 9 Alt + 9
Commit 窗口 ⌘ 0 Alt + 0
Show Diff ⌘ D Ctrl + D
Rollback ⌘ ⌥ Z Ctrl + Alt + Z

9.2 推荐提交流程

sequenceDiagram
    participant Dev as Developer
    participant IDEA as IntelliJ IDEA
    participant Git as Git Repository
    Dev ->> IDEA: 修改代码
    Dev ->> IDEA: 打开 Commit 窗口
    IDEA ->> Dev: 展示 changed files
    Dev ->> IDEA: 查看 Diff
    Dev ->> IDEA: 选择本次要提交的文件 / chunk
    Dev ->> IDEA: 填写 commit message
    IDEA ->> Git: Commit
    Dev ->> IDEA: Push
    IDEA ->> Git: Push to remote

建议养成习惯:

  • 每次提交前用键盘打开 Commit 窗口;
  • 逐个文件看 diff;
  • 不要把格式化、业务改动、临时日志混在一个 commit;
  • 用 changelist 或 staging area 拆分提交;
  • 提交前运行测试或至少跑核心模块编译。

9.3 Diff 审查技巧

打开 Commit 窗口后:

  • 用方向键选择文件;
  • Show Diff 查看差异;
  • F7 / Shift + F7 在差异之间跳转;
  • 不该提交的文件直接排除;
  • 临时代码、debug 日志、无意义格式化要撤回。

不要相信“我只是小改一下”。线上事故最爱躲在“小改一下”里。

10. Terminal 与 Run Anything:命令也别离开 IDEA

10.1 打开 Terminal

操作 macOS Windows / Linux
Terminal ⌥ F12 Alt + F12

常用命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Maven
./mvnw clean test
./mvnw clean package -DskipTests
./mvnw spring-boot:run

# Gradle
./gradlew test
./gradlew bootRun

# Git
git status
git log --oneline --decorate -10

# Docker
docker ps
docker compose up -d
docker compose logs -f app

建议:

  • 简单命令用 Terminal;
  • 项目运行用 Run Configuration;
  • 多服务管理用 Services;
  • Maven / Gradle 任务可以用 Run Anything 或工具窗口。

10.2 Run Anything

操作 macOS Windows / Linux
Run Anything 双击 双击 Ctrl

可以运行:

1
2
3
4
5
mvn clean test
mvn -DskipTests package
gradle bootRun
npm run dev
docker compose up

Run Anything 的好处是不用先打开 Terminal,适合执行项目内常见任务。

11. Maven / Gradle / Spring Boot 场景下的键盘流

11.1 新增一个 Spring Boot 接口

假设需求是新增“查询订单详情”接口。

推荐键盘流:

flowchart TB
    A[Search Everywhere 找 OrderController] --> B[Generate 或手写接口方法]
    B --> C[Alt/Option + Enter 创建缺失 DTO / Command]
    C --> D[Go to Service 实现业务逻辑]
    D --> E[Extract Method 拆分复杂逻辑]
    E --> F[Go to Test 创建或跳转测试]
    F --> G[Run context test]
    G --> H[Commit 窗口看 Diff]
    H --> I[Commit & Push]

具体操作:

  1. 双击 Shift,输入 OrderController
  2. ⌘ B / Ctrl+B 跳 Service;
  3. Alt / Option + Enter 创建缺失方法;
  4. ⌘ ⌥ M / Ctrl+Alt+M 抽方法;
  5. ⌘ ⇧ T / Ctrl+Shift+T 跳测试;
  6. Run context 跑测试;
  7. Commit 查看 diff;
  8. Push 推送。

11.2 修改一个已有 bug

推荐路径:

1
日志关键字 -> 找类 / 找方法 -> Find Usages -> 打断点 -> Debug -> Evaluate -> 修复 -> 测试 -> Diff -> Commit

对应快捷键:

步骤 快捷键
找类 / 文件 双击 Shift 或 Go to Class/File
找方法 Go to Symbol
查调用方 Find Usages
打断点 Toggle Line Breakpoint
Debug Debug context configuration
单步 F7 / F8 / Shift+F7 / Shift+F8
看表达式 Evaluate Expression
回到修改点 Last Edit Location
提交 Commit

12. 多光标与批量编辑

多光标适合局部文本处理,但不要滥用。能用结构化重构时,优先用重构。

常见能力:

操作 macOS Windows / Linux
选择下一个相同词 ⌃ G Alt + J
取消选择上一个 ⌃ ⇧ G Alt + Shift + J
选择所有相同词 ⌃ ⌘ G Ctrl + Alt + Shift + J
列选择模式 ⌘ ⇧ 8 Alt + Shift + Insert

适合场景:

  • 批量改局部变量前缀;
  • 编辑多行相似配置;
  • 处理 SQL 字段列表;
  • 临时整理日志字段。

不适合场景:

  • 改方法名;
  • 改类名;
  • 改包名;
  • 改公开 API;
  • 改大范围业务引用。

这些应该用 Rename / Change Signature / Move 等重构能力。

13. Project 窗口也可以无鼠标使用

打开 Project:

  • macOS:⌘ 1
  • Windows / Linux:Alt + 1

常用操作:

操作 说明
方向键 移动选择
Enter 打开文件
Delete 删除文件,慎用
F2 / Shift+F2 在错误之间跳转,部分上下文也可重命名
新建文件 使用 New 动作或 Project 窗口中的 New
Select In 从当前文件定位到 Project 树

Select In 非常实用:

  • macOS:⌥ F1
  • Windows / Linux:Alt + F1

场景:当前打开一个类,想知道它在项目目录哪里,用 Select In -> Project View,比自己翻目录快很多。

14. 插件推荐:只装真正提升键盘流的

14.1 Key Promoter X

作用:当你用鼠标点击某个 IDEA 动作时,它会提示对应快捷键。

适合:正在训练无鼠标开发的人。

使用建议:

  • 前两周打开,让它提醒你;
  • 高频提醒的动作优先记;
  • 形成习惯后可以关闭或降低打扰;
  • 不要为了“全绿统计”强迫自己记低频快捷键。

14.2 Presentation Assistant

作用:展示你触发的快捷键。

适合:

  • 录教程;
  • 团队分享;
  • 带新人;
  • 自己复盘操作习惯。

14.3 IdeaVim

IdeaVim 是把 Vim 编辑模式带到 JetBrains IDE 里的插件。它很强,但不建议所有人一开始就上。

适合:

  • 已经熟悉 Vim;
  • 希望使用模式编辑;
  • 经常在终端、服务器、IDE 之间切换;
  • 愿意维护 .ideavimrc

不适合:

  • IDEA 基础快捷键还不熟;
  • 不知道 normal / insert / visual mode 是什么;
  • 只是听说“高手都用 Vim”;
  • 怕配置和快捷键冲突。

推荐路线:

flowchart LR
    A[IDEA 默认快捷键熟练] --> B[掌握导航 / 重构 / 调试]
    B --> C[再尝试 IdeaVim]
    C --> D[只保留真正高频的 Vim 映射]

15. 推荐自定义快捷键

默认快捷键已经够用,但可以补几个你个人高频动作。

建议自定义:

动作 原因
Maven Reload Project Maven 项目经常刷新依赖
Gradle Reload Project Gradle 项目常用
Optimize Imports 有些人希望单独触发
Run Inspection by Name 大项目质量检查好用
Pin Active Tab 固定关键文件
Close All Unmodified Editors 清理 tab 很方便
Show Database Window 使用 IDEA 数据库工具时高频
Show Services 微服务 / Docker / Spring Boot 多配置常用

自定义原则:

  1. 高频动作才配快捷键;
  2. 不要覆盖默认核心快捷键;
  3. 尽量保持 Mac / Windows 语义一致;
  4. 团队共享电脑或结对编程时,不要依赖过度私有化配置;
  5. 用 Settings Sync 同步个人配置,但项目规范不要藏在个人 IDE 里。

16. 七天训练计划

Day 1:入口与搜索

目标:不再从 Project 树翻文件。

练习:

  • 双击 Shift 找类;
  • application.yml
  • pom.xml
  • 用 Find Action 找 Reformat Code
  • 用 Recent Files 在 5 个文件之间切换。

验收标准:能在 3 秒内打开任意已知类或文件。

Day 2:代码跳转

目标:理解代码关系。

练习:

  • Controller -> Service;
  • Service -> Repository;
  • Interface -> Implementation;
  • Method -> Find Usages;
  • 返回上一个位置。

验收标准:不靠鼠标完成一次完整调用链阅读。

Day 3:编辑与生成

目标:减少手写样板代码。

练习:

  • Generate 构造器;
  • Implement Methods;
  • Complete Statement;
  • Move Statement;
  • Extend Selection;
  • Surround With。

验收标准:新增一个简单接口时基本不碰鼠标。

Day 4:Quick Fix

目标:熟练使用 Alt / Option + Enter

练习:

  • 自动导包;
  • 创建缺失类;
  • 创建缺失方法;
  • 添加 try-catch;
  • 简化表达式;
  • 查看 intention preview。

验收标准:遇到红线第一反应不是手改,而是 Quick Fix。

Day 5:重构

目标:拒绝手动全局替换。

练习:

  • Rename 方法;
  • Extract Method;
  • Extract Variable;
  • Change Signature;
  • Safe Delete。

验收标准:能用快捷键完成一次 Service 方法拆分。

Day 6:调试

目标:键盘完成 Debug。

练习:

  • 打断点;
  • Debug 启动;
  • F7 / F8 / Shift+F7 / Shift+F8;
  • Evaluate Expression;
  • 条件断点;
  • Run to Cursor。

验收标准:能不碰鼠标完成一次接口断点排查。

Day 7:Git 与提交流程

目标:键盘完成提交审查。

练习:

  • 打开 Commit;
  • 查看 Diff;
  • 选择提交文件;
  • 写 commit message;
  • Commit;
  • Push。

验收标准:能用键盘完成一次干净的提交。

17. 进阶训练:一天工作流示例

上午:接需求

1
2
3
4
Search Everywhere -> 打开相关 Controller / Service
Find Usages -> 看已有调用方式
Go to Test -> 看测试覆盖
Recent Files -> 在相关文件间切换

中午:写代码

1
2
3
4
5
Generate -> 生成方法 / 构造器
Complete Statement -> 补全语句
Alt/Option + Enter -> 修复红线
Extract Method -> 拆复杂逻辑
Reformat -> 格式化

下午:调试

1
2
Toggle Breakpoint -> Debug -> Step Over / Into
Evaluate Expression -> 条件断点 -> Run to Cursor

下班前:提交

1
Commit Window -> Diff -> 排除无关文件 -> Commit -> Push

这就是一个可持续的无鼠标开发闭环。

18. 常见误区

18.1 误区一:背快捷键大全

快捷键大全没有错,但你不应该从大全开始。你应该从真实场景开始:

  • 我现在要找文件,用什么?
  • 我现在要跳实现,用什么?
  • 我现在要改名,用什么?
  • 我现在要抽方法,用什么?
  • 我现在要提交,用什么?

每个问题对应一个动作,动作重复 20 次后才会成为肌肉记忆。

18.2 误区二:为了不用鼠标而不用鼠标

有些操作鼠标更快,比如:

  • 第一次配置 SDK;
  • 配置复杂 Run Configuration;
  • 调整窗口布局;
  • 查看复杂可视化图表;
  • 数据库表结构可视化操作。

无鼠标开发不是宗教。键盘是工具,鼠标也是工具。核心标准只有一个:哪个更快、更稳、更不打断思路,就用哪个。

18.3 误区三:把所有动作都改成自己的快捷键

过度自定义会带来三个问题:

  1. 换电脑不适应;
  2. 同事帮你看问题时一脸懵;
  3. 官方教程和你的环境对不上。

推荐策略:默认快捷键为主,少量高频动作自定义。

18.4 误区四:装 IdeaVim 就等于效率高

IdeaVim 很强,但它是乘法器,不是灵丹妙药。

如果你 IDEA 的导航、重构、调试、Git 都不熟,直接上 Vim 模式,可能只是把“不会用 IDEA”升级成“更优雅地不会用 IDEA”。

19. 我的快捷键分层清单

19.1 必须掌握

场景 动作
搜索 Search Everywhere、Find Action、Recent Files
导航 Go to Declaration、Go to Implementation、Find Usages、Back
编辑 Generate、Complete Statement、Reformat、Extend Selection
修复 Intention Actions
重构 Rename、Extract Method、Refactor This
调试 Debug、Step Over、Step Into、Evaluate Expression
Git Commit、Push、Show Diff

19.2 建议掌握

场景 动作
项目结构 File Structure、Select In、Structure Window
代码质量 Run Inspection by Name、Next Highlighted Error
运行 Run Anything、Services、Terminal
Git Rollback、VCS Operations Popup、Git Log
测试 Go to Test、Run Test、Debug Test

19.3 进阶掌握

场景 动作
批量编辑 Multiple Carets、Column Selection
重构 Change Signature、Inline、Move、Safe Delete
调试 Conditional Breakpoint、Smart Step Into、Run to Cursor
窗口控制 Hide All Tool Windows、Jump to Last Tool Window
插件 Key Promoter X、Presentation Assistant、IdeaVim

20. 一份适合 Java 后端开发者的快捷键速查表

搜索与导航

动作 macOS Windows / Linux
Search Everywhere 双击 Shift 双击 Shift
Find Action ⌘ ⇧ A Ctrl + Shift + A
Go to Class ⌘ O Ctrl + N
Go to File ⌘ ⇧ O Ctrl + Shift + N
Go to Symbol ⌘ ⌥ O Ctrl + Alt + Shift + N
Recent Files ⌘ E Ctrl + E
Recent Locations ⌘ ⇧ E Ctrl + Shift + E
File Structure ⌘ F12 Ctrl + F12
Go to Line ⌘ L Ctrl + G
Back ⌘ ⌥ ← Ctrl + Alt + Left
Forward ⌘ ⌥ → Ctrl + Alt + Right

编码

动作 macOS Windows / Linux
Basic Completion ⌃ Space Ctrl + Space
Smart Completion ⌃ ⇧ Space Ctrl + Shift + Space
Complete Statement ⌘ ⇧ ⏎ Ctrl + Shift + Enter
Show Intention ⌥ ⏎ Alt + Enter
Generate ⌘ N Alt + Insert
Reformat Code ⌘ ⌥ L Ctrl + Alt + L
Optimize Imports ⌃ ⌥ O Ctrl + Alt + O
Comment Line ⌘ / Ctrl + /
Comment Block ⌘ ⌥ / Ctrl + Shift + /
Surround With ⌘ ⌥ T Ctrl + Alt + T

重构

动作 macOS Windows / Linux
Refactor This ⌃ T Ctrl + Alt + Shift + T
Rename ⇧ F6 Shift + F6
Change Signature ⌘ F6 Ctrl + F6
Extract Variable ⌘ ⌥ V Ctrl + Alt + V
Extract Method ⌘ ⌥ M Ctrl + Alt + M
Extract Field ⌘ ⌥ F Ctrl + Alt + F
Extract Parameter ⌘ ⌥ P Ctrl + Alt + P
Inline ⌘ ⌥ N Ctrl + Alt + N
Safe Delete ⌘ ⌦ Alt + Delete

调试

动作 macOS Windows / Linux
Run ⌃ R Shift + F10
Debug ⌃ D Shift + F9
Stop ⌘ F2 Ctrl + F2
Toggle Breakpoint ⌘ F8 Ctrl + F8
View Breakpoints ⌘ ⇧ F8 Ctrl + Shift + F8
Step Over F8 F8
Step Into F7 F7
Smart Step Into ⇧ F7 Shift + F7
Step Out ⇧ F8 Shift + F8
Resume ⌘ ⌥ R F9
Evaluate Expression ⌥ F8 Alt + F8

Git 与窗口

动作 macOS Windows / Linux
Project ⌘ 1 Alt + 1
Run Window ⌘ 4 Alt + 4
Debug Window ⌘ 5 Alt + 5
Services ⌘ 8 Alt + 8
Git Window ⌘ 9 Alt + 9
Commit Window ⌘ 0 Alt + 0
Terminal ⌥ F12 Alt + F12
Commit ⌘ K Ctrl + K
Push ⌘ ⇧ K Ctrl + Shift + K
Update Project ⌘ T Ctrl + T
Hide Active Tool Window ⇧ ⎋ Shift + Escape
Hide All Tool Windows ⌘ ⇧ F12 Ctrl + Shift + F12

21. 适合团队推广的方式

如果你想在团队里推广无鼠标开发,不要直接丢一张快捷键表。更好的方式是:

  1. 先统一 Keymap,不要人人一套;
  2. 做一次 30 分钟内部分享,只讲 20 个高频快捷键;
  3. 每周挑一个场景训练,比如“本周只训练 Git diff 和 commit”;
  4. 鼓励安装 Key Promoter X,但不要强制;
  5. 在 Code Review 中鼓励使用 Rename / Extract Method,而不是手工改;
  6. 把团队高频动作整理成一页 Cheatsheet;
  7. 新人入职时直接给一份 IDEA 工作流文档。

团队真正需要的不是“每个人都像黑客一样噼里啪啦敲键盘”,而是:

  • 找代码更快;
  • 改代码更稳;
  • 重构更安全;
  • 提交更干净;
  • 排查问题更高效。

22. 最终建议

把鼠标从主力工具降级成辅助工具,把键盘升级成开发流程的主控台。

学习路线可以很简单:

flowchart LR
    A[记住 Search Everywhere] --> B[记住 Recent Files]
    B --> C[记住 Alt/Option + Enter]
    C --> D[记住 Rename 和 Extract Method]
    D --> E[记住 Debug 快捷键]
    E --> F[记住 Commit / Push]
    F --> G[形成自己的键盘流]

你不需要一天掌握所有快捷键。每天少碰一点鼠标,每周多固定几个动作,一个月后你的 IDEA 操作方式就会明显变快。

真正的效率提升,往往不是来自“多学一个神奇插件”,而是来自这些不起眼的基础动作被你练成了本能。所谓高手,不过是把别人还在想的动作,提前练成了反射。

参考资料

启示录

快不是目的,稳才是目的。快捷键练到最后,不是为了显得像高手,而是为了让脑子少被工具打断。

能成功于千载者,必以近察远。


IntelliJ IDEA 无鼠标开发深度实战:从快捷键到键盘流工作流
https://allendericdalexander.github.io/2026/06/12/devTools/idea-keyboard-only-deep-practice/
作者
AtLuoFu
发布于
2026年6月12日
许可协议