Skip to content

IDEA 插件与效率工具 ​

S5-013选修入门约 45 分钟JDK 21项目实战 · 工具与资源

1. 本节定位 ​

效率工具的价值公式 ✓✓:

价值 = 省下的时间 × 使用频率

· 快捷键(每天几百次)→ 最高 ROI ✓✓✓ · 酷炫插件(每月一次)→ 几乎为零 ✗

★ 所以本节的顺序是:快捷键 → 调试技巧 → 少量插件 ✓

2. 学习目标 ​

  • 掌握十个高频快捷键 ★★★;
  • 掌握三个调试技巧(条件断点/求值/多线程断点) ★★★;
  • 知道哪几个插件真的值得装 ★★;
  • 知道"效率的尽头是手熟" ★★。

3. 核心概念 ​

3.1 十个高频快捷键(IDEA 默认键位)★★★ ​

快捷键用途频率
Shift Shift ★★★搜任何东西(类/文件/符号/设置)每天几十次 ✓✓✓
Ctrl+Alt+L格式化每天 ✓✓
Alt+Enter快速修复/意图(导包、纠错)★★★每天几十次 ✓✓✓
Ctrl+Alt+V提取变量每天 ✓✓
Ctrl+Alt+M提取方法(重构第一步)✓每天 ✓
Shift+F6重命名(全项目安全重命名)★★★每天 ✓✓
Ctrl+B跳到定义每天几十次 ✓✓✓
Alt+F7找引用每天 ✓
F2跳到下一个错误每天 ✓✓
Ctrl+E最近文件每天 ✓✓

★★ 学习方法 ✓✓:一次只练一个,用一周形成肌肉记忆,再练下一个 ✓ (一次背十个 = 一个也记不住 ✗)

3.2 三个调试技巧 ★★★ ​

技巧场景本项目的例子
条件断点 ★★★只在特定条件下停下「只在 orderId=9527 时断住」(右键断点 → Condition)✓✓
Evaluate Expression ★★★断点处试算表达式停在 borrow() 里,试算 rules.getMaxBorrowPerReader() ✓✓
多线程断点 ★★★只挂起某个线程并发测试里观察"第几个线程拿到锁"(断点选 Thread 模式)✓✓

★ 调试的最高原则 ✓✓✓:

先用日志/测试缩小范围,再用断点看细节 ✓

不要一上来就单步 ✗ —— 单步的视野太小 ✗✓

3.3 值得装的插件(少量)★★ ​

插件价值
Lombok 支持 ★★用 Lombok 才需要(本项目用 record,非必需)✓
.ignore ★.gitignore 语法提示 ✓
Maven Helper ★★可视化看依赖冲突(对应 dependency:tree)✓✓
Translation读英文文档/报错 ✓

★ 插件的取舍 ✓✓:装之前问"我每周会用它几次?" ✓ (用不了的插件 = 干扰 + 启动变慢 ✗)

3.4 重构:IDEA 最强的能力 ★★★ ​

★ 本项目真实用过的重构 ✓:

重构场景
提取方法 ★★★BorrowService.borrow() 里的校验段抽成私有方法 ✓
重命名 ★★★markReturned 语义化命名(Shift+F6 全项目安全改)✓
内联变量 ★★消灭只有一次使用的中间变量 ✓
移动类/改包 ★★模块化整理 ✓

★ 重构的保障是测试 ✓✓✓:没有测试的重构是赌博 ✗✗ (本项目 172 个测试就是重构的安全网 ✓)

6. 递进示例 ​

6.1 最小示例:条件断点 ​

text
在 BorrowService.borrow() 的库存扣减行打断点
→ 右键断点 → Condition: bookId == 3
→ 只在"抢书 3"时停(书 3 只有 1 本,最容易复现库存不足)✓✓

6.2 业务示例:用 Alt+Enter 修编译错误 ​

text
编译错误:cannot find symbol: method isBlank
→ 光标放上去 → Alt+Enter → 导入/建议修复 ✓

6.3 反例:装 20 个插件 ​

text
✗ 插件冲突、启动慢、快捷键被占用 —— 效率为负 ✗✗

7. 实测 ​

本项目的开发过程就是效率工具的实测样本 ✓:

场景用了什么
编译错误定位(如 -parameters 那次)F2 跳错误 + Alt+Enter 修复建议 ✓
跨 24 个模块找符号Shift Shift / Ctrl+B ✓
并发测试调试条件断点(只在特定线程停)✓

8. Debug 观察点 ​

  1. 统计你一天里"切窗口找文件"的次数 → 用 Shift Shift 替代 ✓;
  2. 下次调试先写日志再断点:对比两种方式的定位速度 ✓✓;
  3. 数一数已装插件:卸掉一个月没用的 ✓。

9. 常见错误 ​

#错误说明
1一次学一堆快捷键 ✗记不住 ✓✓
2一进调试就单步 ✗✗视野太小 ✓✓
3无测试就大重构 ✗✗✗赌博 ✓✓✓
4插件越装越多 ✗负收益 ✓

10. 动手实验 ​

  1. 本周只练 Shift Shift + Alt+Enter + Ctrl+B ✓✓;
  2. 用条件断点复现项目 A 的"库存不足"(bookId == 3)✓✓;
  3. 用 Maven Helper 找一次依赖冲突 ✓;
  4. 做一次"有测试保障的重构"(提取方法 + 全量测试)★★。

验收方式:一周后不查资料能说出十个快捷键中的八个。

扩展任务:配置 Live Template(如 testl 展开成一个 JUnit 测试骨架)✓✓ —— 它是"把你的惯用代码模式沉淀进 IDE" ★★

11. 练习题 ​

  1. 填空:效率工具价值 = ______ × ______。
  2. 判断:调试应优先单步跟踪。(对 / 错)
  3. 简答:为什么"重构的保障是测试"?
  4. (列举)写出五个你每天会用(或应该会)的快捷键。
  5. (设计)为你的团队整理一份"IDE 配置基线"。
参考答案(要点)
  1. 省下的时间;使用频率 ✓ ——所以快捷键 > 酷插件 ✓★
  2. 错 ✗✗。先日志/测试缩小范围,断点看细节 ✓✓★
  3. 测试是"行为没变"的机器证明 ✗✓ —— 没有测试,重构后你不知道是"改好了"还是"改坏了" ✗✗★
  4. 示例:Shift Shift / Alt+Enter / Ctrl+B / Shift+F6 / Ctrl+Alt+L ✓
  5. 要点:统一 JDK/编码(UTF-8)/注解处理开关 ✓; 插件白名单(3~5 个)✓; 代码风格导出共享 ✓; 模板与 Live Template 共享 ✓★

12. 掌握标准 ​

  • [ ] 掌握十个高频快捷键 ★★★;
  • [ ] 掌握条件断点与 Evaluate ★★★;
  • [ ] 插件保持少量高价值 ★★;
  • [ ] 知道"无测试不重构" ★★★。

13. 扩展资源 ​

14. 下一步学习 ​

《开发常用软件与环境模板》。

后续知识

暂无

进度只保存在本机浏览器,可随时清除

个人学习项目:AI 生成内容均经人工复核,第三方资源仅作索引