IDEA

IntelliJ IDEA 是 JetBrains 出品的 Java/Kotlin 主流 IDE,内置智能补全、重构、调试、版本控制、数据库、Docker 等能力。


项目与 JDK 配置

File → Project Structure(Ctrl+Alt+Shift+S)
    ├── Project Settings → Project:选择 SDK、语言级别
    ├── Project Settings → Modules:源码根、资源根、测试根
    └── Platform Settings → SDKs:管理本机 JDK 版本
File → Settings(Ctrl+Alt+S)
    └── Build, Execution, Deployment → Build Tools → Maven/Gradle
        设置 JVM 参数、并发构建、仓库地址

Maven 本地仓库路径、settings.xml 均在此处配置,与 Maven 联动。


核心快捷键

导航

快捷键功能
Double Shift全局搜索(文件、类、符号、操作)
Ctrl+N搜索类
Ctrl+Shift+N搜索文件
Ctrl+Alt+Shift+N搜索符号(方法、字段)
Ctrl+Shift+A搜索 IDE 功能/Action
Ctrl+E最近打开的文件
Ctrl+Shift+E最近编辑的文件
Alt+F7查找用法(Find Usages)
Ctrl+B / Ctrl+Click跳转到声明
Ctrl+Alt+B跳转到实现
Ctrl+U跳转到父类/接口方法
Ctrl+H类继承层级
Ctrl+Alt+H方法调用层级
Ctrl+G跳转到指定行
Alt+←/→前进/后退(导航历史)
Ctrl+[ / Ctrl+]跳转到代码块起止

编辑

快捷键功能
Alt+Enter快速修复 / 意图操作(Show Intention Actions)
Ctrl+Space基础代码补全
Ctrl+Shift+Space智能类型补全
Ctrl+D复制当前行/选中
Ctrl+Y删除当前行
Ctrl+Shift+↑/↓上下移动语句
Alt+Shift+↑/↓上下移动行
Ctrl+/行注释切换
Ctrl+Shift+/块注释切换
Ctrl+Alt+L格式化代码
Ctrl+Alt+O优化 import
Ctrl+Shift+U大小写切换
Ctrl+W扩展选区
Ctrl+Shift+W缩小选区
Alt+J多光标:选中下一个相同词
Ctrl+Alt+Shift+J多光标:选中所有相同词

重构

快捷键功能
Shift+F6重命名(Rename)—— 所有引用同步更新
Ctrl+Alt+M提取方法(Extract Method)
Ctrl+Alt+V提取变量(Extract Variable)
Ctrl+Alt+F提取字段(Extract Field)
Ctrl+Alt+C提取常量(Extract Constant)
Ctrl+Alt+P提取参数(Extract Parameter)
F6移动类/方法
Ctrl+F6修改方法签名
Alt+Delete安全删除(检查引用)

运行与调试

快捷键功能
Shift+F10运行最近配置
Shift+F9调试最近配置
Ctrl+Shift+F10运行当前文件/方法
F8单步跳过(Step Over)
F7单步进入(Step Into)
Shift+F8步出(Step Out)
F9恢复执行(Resume)
Alt+F9运行到光标处
Alt+F8求值表达式(Evaluate Expression)
Ctrl+F8切换断点
Ctrl+Shift+F8查看所有断点

代码生成

Live Templates(实时模板)

输入缩写后按 Tab 展开:

缩写展开内容
soutSystem.out.println();
soutvSystem.out.println("var = " + var);
forifor (int i = 0; i < n; i++) {}
iter增强 for 循环
psvmpublic static void main(String[] args) {}
thrthrow new
nnif (obj != null) {}

自定义 Live Template:Settings → Editor → Live Templates

Postfix Completion

在表达式后输入缩写:

缩写效果(在 expr 后)
.varType name = expr;
.nullif (expr == null) {}
.notnullif (expr != null) {}
.forfor (Type item : expr) {}
.not!expr
.soutSystem.out.println(expr)
.returnreturn expr;
.throwthrow expr;
.trytry { } catch (Exception e) { } 包裹

代码生成菜单(Alt+Insert)

在类中按 Alt+Insert 可快速生成:

  • Constructor、Getter/Setter、toString()equals()/hashCode()
  • Override Methods
  • Test (跳转 / 新建测试类)
  • Spring Bean 注入代码

调试技巧

断点类型

类型用途
行断点最常用,执行到该行时暂停
条件断点右键断点设置条件表达式,只在满足时暂停
日志断点(非挂起)不暂停,仅打印表达式到控制台
方法断点进入 / 离开方法时暂停
异常断点抛出指定异常时暂停(Ctrl+Shift+F8 添加)
Field Watchpoint字段被读写时暂停

Evaluate Expression(Alt+F8)

在断点处可执行任意 Java 代码:调用方法、修改变量值、查看复杂对象结构。

Drop Frame(回退调用帧)

在调试面板中右键帧 → Drop Frame,回到方法入口重新执行(不能回退 I/O 和数据库副作用)。

远程调试

目标 JVM 启动时加 JVM 参数:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005

IDEA 中:Run → Edit Configurations → Remote JVM Debug,填写主机和端口后启动调试。

适合调试 Docker 容器中的应用,与 Docker 配合使用。


版本控制集成

Git 的主要操作均可在 IDEA 中可视化完成:

面板 / 操作位置
Commit 面板Alt+0(Commit Tool Window)
Git Log 图形Alt+9(Git Tool Window)
冲突解决(3 路合并)Git → Resolve Conflicts
Annotate(git blame)行号处右键 → Annotate with Git Blame
Revert / Rollback右键文件 → Git → Rollback
StashGit → Stash Changes
Interactive RebaseGit → Rebase Interactively

Spring Boot 支持

安装 Spring Boot 插件(Ultimate 版内置)后:

  • Spring InitializrFile → New Project → Spring 快速创建项目
  • Run Dashboard:统一管理多个 Spring Boot 实例
  • Endpoints 面板:可视化浏览 Actuator 端点
  • Bean 依赖图:查看 Spring Bean 依赖关系(Show Bean Dependencies
  • 配置文件补全application.yml 中自动补全配置键

数据库工具

IDEA Ultimate 内置 Database 工具,支持 MySQL、PostgreSQL、Redis 等:

右侧 DB 图标 → + → Data Source
    填写 JDBC URL、用户名、密码 → Test Connection
  • SQL 编辑器带语法高亮、执行计划分析
  • 可直接导入导出数据
  • 支持与 Navicat 相同的常用 DDL 操作

性能分析集成

内置 Async Profiler(Ultimate)

Run → Profile,直接在 IDEA 中启动 CPU/内存采样,结果以 Flame Graph 展示。

JProfiler 集成

安装 JProfiler 插件后,工具栏出现 JProfiler 按钮,可一键在 JProfiler 中启动当前配置进行深度分析。

Arthas 集成

社区插件 Arthas Idea 可快速生成 Arthas 命令(watch/trace/ognl),直接复制到目标机器执行。


插件推荐

插件用途
Lombok处理 @Data、@Builder 等注解,避免红色报错
MapStruct SupportMapStruct 注解跳转支持
SonarLint本地静态代码检查
Alibaba Java Coding Guidelines阿里规约实时提示
GitToolBox行内显示 git blame 信息
String Manipulation字符串格式互转(驼峰/下划线/Base64)
MybatisXMapper 方法与 XML 之间互相跳转
JRebel热部署(修改代码无需重启,收费)
HTTP Client内置类 Postman,.http 文件发送请求
DockerDocker 容器管理与日志查看

内存与性能设置

Help → Change Memory Settings

推荐设置(8GB+ 内存机器):

-Xms1g
-Xmx4g
-XX:ReservedCodeCacheSize=512m

自定义 VM 参数:Help → Edit Custom VM Options

开启索引加速(降低 CPU 占用):

Settings → Advanced Settings → Reduce the number of indexing threads

常用技巧

  • Ctrl+Alt+Shift+U:查看 Maven / Gradle 依赖关系图
  • Ctrl+P:在方法调用处显示参数信息
  • Ctrl+Q:快速文档(显示 Javadoc)
  • Alt+F1:当前文件在项目树 / 文件系统 / Git 中定位
  • Ctrl+Shift+T:快速跳转到 / 生成测试类
  • 多剪贴板Ctrl+Shift+V 弹出历史剪贴板记录
  • 列选择模式Alt+Shift+Insert,再用鼠标拖拽

HTTP Client(内置接口测试)

IDEA Ultimate 内置 HTTP Client,.http 文件即接口文档:

### 登录
POST {{baseUrl}}/api/auth/login
Content-Type: application/json
 
{
  "username": "admin",
  "password": "123456"
}
 
> {%
  client.global.set("token", response.body.data.token);
%}
 
### 查询用户列表
GET {{baseUrl}}/api/users?page=1&size=10
Authorization: Bearer {{token}}

http-client.env.json 定义多环境变量:

{
  "dev": { "baseUrl": "http://localhost:8080" },
  "prod": { "baseUrl": "https://api.example.com" }
}

运行按钮旁可切换环境;响应结果支持 JSON 格式化预览。适合与 Apifox 配合——复杂用例在 Apifox,简单冒烟测试用 .http 文件。


Local History(本地历史)

IDEA 自动保存每次编辑快照,无需 Git 也能回溯:

右键文件 → Local History → Show History
  • 可查看每次修改的 diff,选择任意版本恢复
  • Git 提交前误删代码时,是最后防线
  • 保留约 5 天历史(根据磁盘空间动态调整)

Scratch Files(临时文件)

不属于任何项目的临时代码文件,关闭项目后仍保留:

Ctrl+Alt+Shift+Insert

选择语言(Java、JSON、SQL、HTTP…),用于:

  • 临时测试代码片段
  • 格式化粘贴的 JSON/XML
  • 写 SQL 草稿后复制到 MyBatis XML

存储位置:~/.config/JetBrains/<IDE版本>/scratches/


Code Coverage(代码覆盖率)

运行测试时选择「Run with Coverage」(Shift+F10 旁的下拉):

  • 编辑器左侧沟槽显示绿(覆盖)/ 红(未覆盖)行
  • Coverage 面板展示按包/类统计的行覆盖率、分支覆盖率
  • 可导出 HTML 报告

与 JaCoCo 集成(Maven 插目标 jacoco:report)可生成标准化报告上传到 SonarQube。


File Templates(文件模板)

新建文件时自动填充内容:

Settings → Editor → File and Code Templates

常见定制:

// Java 类模板:自动加版权注释
/**
 * @author ${USER}
 * @date ${DATE}
 */
public class ${NAME} {
}

内置变量:${USER}${DATE}${TIME}${NAME}(类名)、${PACKAGE_NAME}


内置终端

Alt+F12 打开内置终端,默认使用系统 Shell(Windows 可配置为 Git Bash 或 PowerShell):

Settings → Tools → Terminal → Shell path

Terminal 会自动激活 Maven/Gradle 项目的环境,可直接运行 mvn./gradlew 命令,与编辑器共享项目路径。


相关链接

  • Git — 版本控制,IDEA 内置图形化操作
  • JProfiler — 深度性能分析,与 IDEA 插件集成
  • Arthas — 线上诊断,Arthas Idea 插件辅助生成命令
  • Apifox — 复杂接口测试,与 IDEA HTTP Client 互补
  • Maven — 构建工具,IDEA 内置 Maven 面板
  • Gradle — 构建工具,IDEA 内置 Gradle 面板