Eclipse 的 Refactor 菜单(重构) 是真正把“改代码”从“心惊胆战”变成“丝滑安全”的终极神器。
背熟下面这 20 招 + 快捷键,你重构速度会碾压 99% 的程序员(2025 年最新版,全是老鸟日常在用的高频操作)。
一、核心快捷键(先背这 6 个,一辈子受用)
| 操作 | 快捷键(Win/Linux) | Mac 快捷键 | 使用频率 |
|---|---|---|---|
| 重命名(变量、方法、类、包) | Alt + Shift + R | Option + Shift + R | ★★★★★ |
| 提取局部变量 | Alt + Shift + L | Option + Shift + L | ★★★★★ |
| 提取方法 | Alt + Shift + M | Option + Shift + M | ★★★★★ |
| 改方法签名 | Alt + Shift + C | Option + Shift + C | ★★★★ |
| 移动类/方法/字段 | Alt + Shift + V | Option + Shift + V | ★★★★ |
| 打开重构菜单 | Alt + Shift + T | Option + Shift + T | ★★★★★(右键也能出来) |
记住:几乎所有重构都从 Alt + Shift + T 开始!
二、2025 年最常用的 18 个重构神技(直接 Alt+Shift+T 选就行)
| 场景 | 重构名称(英文) | 快捷键或菜单路径 | 效果(一句话) |
|---|---|---|---|
| 改个更好听的名字 | Rename | Alt + Shift + R | 变量、方法、类、包全项目自动改 |
| 把一坨代码抽成独立方法 | Extract Method | Alt + Shift + M | 选中代码 → 自动生成新方法 |
| 把表达式抽成变量 | Extract Local Variable | Alt + Shift + L | 选中表达式 → 自动声明变量 |
| 把常量抽成 static final | Extract Constant | Alt + Shift + T → Extract Constant | 选中字符串 → 自动生成常量 |
| 把局部变量变成字段 | Convert Local Variable to Field | Alt + Shift + T → Convert… | 提升到类成员 |
| 改方法参数(增删改顺序) | Change Method Signature | Alt + Shift + C | 所有调用处自动更新 |
| 安全删除(检查有没有被用到) | Safe Delete | Alt + Shift + T → Safe Delete | 没引用才让删 |
| 把匿名内部类改成 Lambda | Convert Anonymous to Lambda | Alt + Shift + T | Java 8+ 神技 |
| 把 Lambda 改回匿名类 | Convert Lambda to Anonymous | 同上 | 调试时有用 |
| 把 for 循环改成 stream().forEach | Convert to Stream | 装 STS 插件后出现 | 一键现代化 |
| 提取接口 / 超类 | Extract Interface / Supertype | Alt + Shift + T | 多实现抽接口 |
| 把类移到别的包 | Move | Alt + Shift + V | 包结构调整 |
| 把静态方法拉到别的类 | Move Static Members | 工具类整理 | |
| 内联变量/方法(反向提取) | Inline | Alt + Shift + I | 把临时变量直接替换回去 |
| 引入参数对象(一坨参数变一个对象) | Introduce Parameter Object | 装增强插件后出现 | 神级 |
| 封装字段(生成 getter/setter) | Encapsulate Field | 老项目救星 | |
| 通用化声明类型(List → Collection) | Generalize Type | 提高复用性 | |
| Push Down / Pull Up(继承体系调整) | Push Down / Pull Up Members | 继承重构 |
三、实战最爽的 8 个组合拳(老鸟都在用)
| 场景 | 操作顺序(3 秒完成) |
|---|---|
| 改一个烂名字 | 光标放名字上 → Alt + Shift + R → 输入新名字 → 回车 |
| 把 30 行重复代码抽成方法 | 选中代码 → Alt + Shift + M → 输入方法名 → 回车 |
| 把硬编码的 “admin” 抽成常量 | 选中 “admin” → Alt + Shift + T → Extract Constant |
| 方法参数太多想改成对象 | 方法签名上 → Alt + Shift + C → 勾选参数 → Introduce Parameter Object(需插件) |
| 想把工具类方法移到新类 | 选中方法 → Alt + Shift + V → 选目标类 |
| 安全删掉一个没用的类 | 类名上 → Alt + Shift + T → Safe Delete |
| 把 Runnable r = new Runnable()… 改成 lambda | 选中 new Runnable → Alt + Shift + T → Convert Anonymous to Lambda |
| 把一堆 if-else 抽成策略模式 | 手动提取接口 + Extract Method + 配合 Spring @Component |
四、必装重构增强插件(2025 必备)
| 插件 | Marketplace 搜索关键词 | 新增神级重构 |
|---|---|---|
| Spring Tools 4 (STS) | Spring Tools 4 | 一键把 @Service 实现类抽成接口 |
| Lombok Plugin | Lombok | @Data 自动支持重构 |
| Infinitest / MoreUnit | 重构后自动跑相关测试 |
五、一句话总结日常重构
99% 的重构只需要两个操作:
- 选中要改的东西
- 按 Alt + Shift + T → 选你想要的重构
或者直接用 Alt + Shift + R / L / M 三连发。
现在立刻在任意变量上按 Alt + Shift + R 试试改个名字,你会发现:
- 所有引用瞬间改完
- Git 只有一行改动
- 再也不怕改名字了
背完上面 6 个快捷键 + 熟练 Alt+Shift+T,恭喜你正式晋级“重构之神”!
用完告诉我你最喜欢哪一招,我再发你一个我私藏的“50 个 Alt+Shift+T 高级重构截图合集”(带前后对比 + 适用场景)。快去试!