
IntelliJ IDEA 完整安装与使用指南
-
- [适用于专业开发的卓越 IDE - Java 和 Kotlin 开发利器](#适用于专业开发的卓越 IDE - Java 和 Kotlin 开发利器)
- 摘要
- 目录
- 第一部分:基础篇
-
- [1. IntelliJ IDEA 简介与版本选择](#1. IntelliJ IDEA 简介与版本选择)
-
- [1.1 IDEA 的历史与发展](#1.1 IDEA 的历史与发展)
- [1.2 Community(社区版)与 Ultimate(旗舰版)对比](#1.2 Community(社区版)与 Ultimate(旗舰版)对比)
- [1.3 如何选择适合自己的版本](#1.3 如何选择适合自己的版本)
- [1.4 系统要求与兼容性](#1.4 系统要求与兼容性)
- [2. IntelliJ IDEA 安装详解](#2. IntelliJ IDEA 安装详解)
-
- [2.1 官方下载渠道](#2.1 官方下载渠道)
- [2.2 Windows 系统安装步骤](#2.2 Windows 系统安装步骤)
- [2.3 macOS 系统安装步骤](#2.3 macOS 系统安装步骤)
- [2.4 Linux 系统安装步骤](#2.4 Linux 系统安装步骤)
- [2.5 安装过程中的注意事项](#2.5 安装过程中的注意事项)
- 第二部分:配置篇
-
- [3. 首次启动与初始配置](#3. 首次启动与初始配置)
-
- [3.1 欢迎界面详解](#3.1 欢迎界面详解)
- [3.2 选择主题与外观设置](#3.2 选择主题与外观设置)
- [3.3 配置 JDK(Java Development Kit)](#3.3 配置 JDK(Java Development Kit))
- [3.4 设置默认项目结构](#3.4 设置默认项目结构)
- [3.5 导入设置与插件市场](#3.5 导入设置与插件市场)
- [4. 核心配置优化](#4. 核心配置优化)
-
- [4.1 内存配置优化(VM Options)](#4.1 内存配置优化(VM Options))
- [4.2 编辑器设置](#4.2 编辑器设置)
- [4.3 快捷键自定义](#4.3 快捷键自定义)
- [4.4 文件编码设置](#4.4 文件编码设置)
- [4.5 版本控制系统(Git)集成](#4.5 版本控制系统(Git)集成)
- [5. 插件生态与扩展](#5. 插件生态与扩展)
-
- [5.1 必装插件推荐](#5.1 必装插件推荐)
- [5.2 Kotlin 插件安装与配置](#5.2 Kotlin 插件安装与配置)
- [5.3 Lombok 插件使用](#5.3 Lombok 插件使用)
- 第三部分:实战篇
-
- [6. 项目创建与管理](#6. 项目创建与管理)
-
- [6.1 创建 Java 项目](#6.1 创建 Java 项目)
- [6.2 创建 Kotlin 项目](#6.2 创建 Kotlin 项目)
- [6.3 Maven 项目创建](#6.3 Maven 项目创建)
- [6.4 Gradle 项目创建](#6.4 Gradle 项目创建)
- [6.5 从现有代码导入项目](#6.5 从现有代码导入项目)
- [6.6 多模块项目管理](#6.6 多模块项目管理)
- [7. 代码编写与智能辅助](#7. 代码编写与智能辅助)
-
- [7.1 代码自动补全](#7.1 代码自动补全)
- [7.2 代码生成](#7.2 代码生成)
- [7.3 代码重构](#7.3 代码重构)
- [7.4 实时代码分析](#7.4 实时代码分析)
- [7.5 代码模板](#7.5 代码模板)
- [7.6 代码导航](#7.6 代码导航)
- [8. 调试与测试](#8. 调试与测试)
-
- [8.1 断点调试详解](#8.1 断点调试详解)
- [8.2 条件断点与日志断点](#8.2 条件断点与日志断点)
- [8.3 远程调试配置](#8.3 远程调试配置)
- [8.4 单元测试(JUnit/TestNG)](#8.4 单元测试(JUnit/TestNG))
- [9. 版本控制集成](#9. 版本控制集成)
-
- [9.1 Git 基础配置](#9.1 Git 基础配置)
-
- [9.1.1 安装与配置 Git](#9.1.1 安装与配置 Git)
- [9.1.2 IDEA 中的 Git 集成配置](#9.1.2 IDEA 中的 Git 集成配置)
- [9.2 代码提交与推送](#9.2 代码提交与推送)
-
- [9.2.1 本地提交流程](#9.2.1 本地提交流程)
- [9.2.2 推送到远程仓库](#9.2.2 推送到远程仓库)
- [9.2.3 提交信息规范](#9.2.3 提交信息规范)
- [9.3 拉取最新代码避免冲突](#9.3 拉取最新代码避免冲突)
-
- [9.3.1 拉取远程更新](#9.3.1 拉取远程更新)
- [9.3.2 处理拉取冲突](#9.3.2 处理拉取冲突)
- [9.4 分支管理](#9.4 分支管理)
-
- [9.4.1 创建分支](#9.4.1 创建分支)
- [9.4.2 切换分支](#9.4.2 切换分支)
- [9.4.3 分支更新策略](#9.4.3 分支更新策略)
- [9.5 代码对比与合并](#9.5 代码对比与合并)
-
- [9.5.1 查看文件差异](#9.5.1 查看文件差异)
- [9.5.2 合并分支](#9.5.2 合并分支)
- [9.5.3 合并冲突解决](#9.5.3 合并冲突解决)
- [9.6 怎样忽略不需要提交的文件](#9.6 怎样忽略不需要提交的文件)
-
- [9.6.1 创建 .gitignore 文件](#9.6.1 创建 .gitignore 文件)
- [9.6.2 IDEA 中的忽略管理](#9.6.2 IDEA 中的忽略管理)
- [9.7 高级 Git 操作](#9.7 高级 Git 操作)
-
- [9.7.1 暂存未完成的代码(Stash)](#9.7.1 暂存未完成的代码(Stash))
- [9.7.2 查看代码修改历史](#9.7.2 查看代码修改历史)
- [9.7.3 撤销操作](#9.7.3 撤销操作)
- 第四部分:高级篇
-
- [10. 性能优化与调优](#10. 性能优化与调优)
-
- [10.1 启动速度优化](#10.1 启动速度优化)
- [10.2 内存使用优化](#10.2 内存使用优化)
- [10.3 索引优化](#10.3 索引优化)
- [10.4 插件性能管理](#10.4 插件性能管理)
- [10.5 大项目处理技巧](#10.5 大项目处理技巧)
- [11. Kotlin 专项开发](#11. Kotlin 专项开发)
-
- [11.1 Kotlin 语言特性支持](#11.1 Kotlin 语言特性支持)
- [11.2 Kotlin 与 Java 互操作](#11.2 Kotlin 与 Java 互操作)
- [11.3 Kotlin DSL 配置](#11.3 Kotlin DSL 配置)
- [11.4 协程调试技巧](#11.4 协程调试技巧)
- [12.Spring Boot 与微服务开发](#12.Spring Boot 与微服务开发)
-
- [12.1 Spring Initializr 集成](#12.1 Spring Initializr 集成)
-
- [12.1.1 使用 Spring Initializr 创建项目](#12.1.1 使用 Spring Initializr 创建项目)
- [12.1.2 选择 Spring Boot 版本和依赖](#12.1.2 选择 Spring Boot 版本和依赖)
- [12.1.3 项目结构解析](#12.1.3 项目结构解析)
- [12.2 Spring Boot 项目配置](#12.2 Spring Boot 项目配置)
-
- [12.2.1 application.properties 配置](#12.2.1 application.properties 配置)
- [12.2.2 application.yml 配置(推荐)](#12.2.2 application.yml 配置(推荐))
- [12.2.3 IDEA 中的 Spring Boot 配置优化](#12.2.3 IDEA 中的 Spring Boot 配置优化)
- [12.3 REST API 开发](#12.3 REST API 开发)
-
- [12.3.1 创建 REST Controller](#12.3.1 创建 REST Controller)
- [12.3.2 使用 IDEA 的代码生成功能](#12.3.2 使用 IDEA 的代码生成功能)
- [12.3.3 使用 IDEA 内置 HTTP 客户端测试](#12.3.3 使用 IDEA 内置 HTTP 客户端测试)
- [12.4 数据库集成](#12.4 数据库集成)
-
- [12.4.1 JPA 实体类创建](#12.4.1 JPA 实体类创建)
- [12.4.2 Repository 接口](#12.4.2 Repository 接口)
- [12.4.3 Service 层实现](#12.4.3 Service 层实现)
- [12.4.4 IDEA 数据库工具集成](#12.4.4 IDEA 数据库工具集成)
- [12.5 微服务调试](#12.5 微服务调试)
-
- [12.5.1 多模块项目调试](#12.5.1 多模块项目调试)
- [12.5.2 远程调试配置](#12.5.2 远程调试配置)
- [12.5.3 分布式追踪与日志](#12.5.3 分布式追踪与日志)
- [12.5.4 使用 Actuator 监控](#12.5.4 使用 Actuator 监控)
- 第五部分:问题解决篇
-
- [13. 常见问题与解决方案](#13. 常见问题与解决方案)
-
- [13.1 IDEA 启动失败问题](#13.1 IDEA 启动失败问题)
- [13.2 项目索引卡顿问题](#13.2 项目索引卡顿问题)
- [13.3 插件冲突解决](#13.3 插件冲突解决)
- [13.4 内存溢出处理](#13.4 内存溢出处理)
- [13.5 Gradle/Maven 同步失败](#13.5 Gradle/Maven 同步失败)
- [14. 避坑指南与最佳实践](#14. 避坑指南与最佳实践)
-
- [14.1 配置文件备份策略](#14.1 配置文件备份策略)
- [14.2 项目迁移注意事项](#14.2 项目迁移注意事项)
- [14.3 团队协作规范](#14.3 团队协作规范)
- 第六部分:进阶篇
-
- [15. 自定义与扩展开发](#15. 自定义与扩展开发)
-
- [15.1 自定义代码模板](#15.1 自定义代码模板)
- [15.2 自定义检查规则](#15.2 自定义检查规则)
- [15.3 插件开发入门](#15.3 插件开发入门)
- [16. 团队协作与 CI/CD](#16. 团队协作与 CI/CD)
-
- [16.1 代码风格统一](#16.1 代码风格统一)
-
- [16.1.1 配置 .editorconfig 文件](#16.1.1 配置 .editorconfig 文件)
- [16.1.2 IDEA 代码样式配置](#16.1.2 IDEA 代码样式配置)
- [16.1.3 代码格式化快捷键](#16.1.3 代码格式化快捷键)
- [16.2 检查配置共享](#16.2 检查配置共享)
-
- [16.2.1 创建团队检查配置](#16.2.1 创建团队检查配置)
- [16.2.2 使用 SonarLint 进行代码质量检查](#16.2.2 使用 SonarLint 进行代码质量检查)
- [16.3 与 Jenkins 集成](#16.3 与 Jenkins 集成)
-
- [16.3.1 Jenkins 基础配置](#16.3.1 Jenkins 基础配置)
- [16.3.2 创建 Jenkins Pipeline](#16.3.2 创建 Jenkins Pipeline)
- [16.3.3 IDEA 中的 Jenkins 集成](#16.3.3 IDEA 中的 Jenkins 集成)
- [16.4 Docker 集成](#16.4 Docker 集成)
-
- [16.4.1 创建 Dockerfile](#16.4.1 创建 Dockerfile)
- [16.4.2 IDEA Docker 插件配置](#16.4.2 IDEA Docker 插件配置)
- [16.4.3 Docker Compose 集成](#16.4.3 Docker Compose 集成)
- [16.4.4 在 IDEA 中运行 Docker Compose](#16.4.4 在 IDEA 中运行 Docker Compose)
- [16.5 云开发环境](#16.5 云开发环境)
-
- [16.5.1 使用 GitHub Codespaces](#16.5.1 使用 GitHub Codespaces)
- [16.5.2 使用 Gitpod](#16.5.2 使用 Gitpod)
- [16.5.3 配置远程开发环境](#16.5.3 配置远程开发环境)
- 第七部分:总结与资源
-
- [17. 学习路径推荐](#17. 学习路径推荐)
-
- [17.1 新手入门路线图(1-3个月)](#17.1 新手入门路线图(1-3个月))
- [17.2 进阶提升路线图(3-6个月)](#17.2 进阶提升路线图(3-6个月))
- [17.3 专家级技能路线图(6个月+)](#17.3 专家级技能路线图(6个月+))
- [18. 参考资料与资源](#18. 参考资料与资源)
-
- [18.1 官方文档链接](#18.1 官方文档链接)
- [18.2 推荐书籍](#18.2 推荐书籍)
- [18.3 在线课程推荐](#18.3 在线课程推荐)
- [18.4 社区与论坛](#18.4 社区与论坛)
- [18.5 常用快捷键速查表](#18.5 常用快捷键速查表)
- [19. 总结与展望](#19. 总结与展望)
-
- [19.1 IntelliJ IDEA 的核心价值](#19.1 IntelliJ IDEA 的核心价值)
- [19.2 未来发展趋势](#19.2 未来发展趋势)
- [19.3 持续学习建议](#19.3 持续学习建议)
- 附录
-
- [附录 A:系统要求详细说明](#附录 A:系统要求详细说明)
- [附录 B:常见错误代码及解决方案](#附录 B:常见错误代码及解决方案)
- [附录 C:推荐插件清单](#附录 C:推荐插件清单)
- [附录 D:快捷键自定义示例](#附录 D:快捷键自定义示例)
适用于专业开发的卓越 IDE - Java 和 Kotlin 开发利器
摘要
IntelliJ IDEA 是 JetBrains 公司开发的旗舰级 Java IDE,被誉为"最智能的 Java IDE"。本指南将带领新手从零开始,全面掌握 IntelliJ IDEA 的安装、配置、优化以及常见问题解决。无论你是 Java 初学者、Kotlin 爱好者,还是希望提升开发效率的专业开发者,这份指南都将为你提供完整的实战指导。我们将深入探讨 IDE 的核心功能、最佳实践以及避坑指南,让你快速成为 IntelliJ IDEA 的高效使用者。
目录
第一部分:基础篇
-
IntelliJ IDEA 简介与版本选择
1.1 IDEA 的历史与发展
1.2 Community(社区版)与 Ultimate(旗舰版)对比
1.3 如何选择适合自己的版本
1.4 系统要求与兼容性
-
IntelliJ IDEA 安装详解
2.1 官方下载渠道
2.2 Windows 系统安装步骤
2.3 macOS 系统安装步骤
2.4 Linux 系统安装步骤
2.5 安装过程中的注意事项
第二部分:配置篇
-
首次启动与初始配置
3.1 欢迎界面详解
3.2 选择主题与外观设置
3.3 配置 JDK(Java Development Kit)
3.4 设置默认项目结构
3.5 导入设置与插件市场
-
核心配置优化
4.1 内存配置优化(VM Options)
4.2 编辑器设置(字体、缩进、代码样式)
4.3 快捷键自定义
4.4 文件编码设置
4.5 版本控制系统(Git)集成
-
插件生态与扩展
5.1 必装插件推荐
5.2 Kotlin 插件安装与配置
5.3 Lombok 插件使用
5.4 Maven/Gradle 插件
5.5 代码质量检查插件
第三部分:实战篇
-
项目创建与管理
6.1 创建 Java 项目
6.2 创建 Kotlin 项目
6.3 Maven 项目创建
6.4 Gradle 项目创建
6.5 从现有代码导入项目
6.6 多模块项目管理
-
代码编写与智能辅助
7.1 代码自动补全(Basic & Smart Completion)
7.2 代码生成(Generate)
7.3 代码重构(Refactor)
7.4 实时代码分析与错误提示
7.5 代码模板(Live Templates)
7.6 代码导航(Navigation)
-
调试与测试
8.1 断点调试详解
8.2 条件断点与日志断点
8.3 远程调试配置
8.4 单元测试(JUnit/TestNG)
8.5 Kotlin 测试框架
-
版本控制集成
9.1 Git 基础配置
9.2 代码提交与推送
9.3 分支管理
9.4 代码对比与合并
9.5 解决冲突
第四部分:高级篇
-
性能优化与调优
10.1 启动速度优化
10.2 内存使用优化
10.3 索引优化
10.4 插件性能管理
10.5 大项目处理技巧
-
Kotlin 专项开发
11.1 Kotlin 语言特性支持
11.2 Kotlin 与 Java 互操作
11.3 Kotlin DSL 配置
11.4 协程调试技巧
11.5 Kotlin 多平台项目
-
Spring Boot 与微服务开发
12.1 Spring Initializr 集成
12.2 Spring Boot 项目配置
12.3 REST API 开发
12.4 数据库集成
12.5 微服务调试
第五部分:问题解决篇
-
常见问题与解决方案
13.1 IDEA 启动失败问题
13.2 项目索引卡顿问题
13.3 插件冲突解决
13.4 内存溢出(OutOfMemory)处理
13.5 Gradle/Maven 同步失败
-
避坑指南与最佳实践
14.1 配置文件备份策略
14.2 项目迁移注意事项
14.3 团队协作规范
14.4 代码审查集成
14.5 安全开发实践
第六部分:进阶篇
-
自定义与扩展开发
15.1 自定义代码模板
15.2 自定义检查规则
15.3 插件开发入门
15.4 外部工具集成
15.5 命令行工具使用
-
团队协作与 CI/CD
16.1 代码风格统一
16.2 检查配置共享
16.3 与 Jenkins 集成
16.4 Docker 集成
16.5 云开发环境
第七部分:总结与资源
-
学习路径推荐
17.1 新手入门路线图
17.2 进阶提升路线图
17.3 专家级技能路线图
-
参考资料与资源
18.1 官方文档链接
18.2 推荐书籍
18.3 在线课程推荐
18.4 社区与论坛
18.5 常用快捷键速查表
-
总结与展望
19.1 IntelliJ IDEA 的核心价值
19.2 未来发展趋势
19.3 持续学习建议
第一部分:基础篇
1. IntelliJ IDEA 简介与版本选择
1.1 IDEA 的历史与发展
IntelliJ IDEA 由 JetBrains 公司于 2001 年首次发布,经过 20 多年的发展,已成为全球最受欢迎的 Java IDE 之一。其智能代码分析、强大的重构工具和丰富的插件生态使其在专业开发领域占据重要地位。
1.2 Community(社区版)与 Ultimate(旗舰版)对比
| 特性 | Community(社区版) | Ultimate(旗舰版) |
|---|---|---|
| 价格 | 免费 | 付费(学生免费) |
| Java 支持 | ✅ 完整支持 | ✅ 完整支持 |
| Kotlin 支持 | ✅ 完整支持 | ✅ 完整支持 |
| Android 开发 | ✅ 支持 | ✅ 支持 |
| Spring 框架 | ❌ 不支持 | ✅ 完整支持 |
| Web 开发 | ❌ 基础支持 | ✅ 完整支持 |
| 数据库工具 | ❌ 不支持 | ✅ 内置数据库工具 |
| 企业框架 | ❌ 不支持 | ✅ 支持多种框架 |
1.3 如何选择适合自己的版本
- 学生/初学者:推荐使用 Ultimate 版(学生免费)
- 纯 Java/Kotlin 开发:Community 版足够
- 企业级开发:必须使用 Ultimate 版
- Web 全栈开发:Ultimate 版是唯一选择
1.4 系统要求与兼容性
- 最低配置:4GB 内存,双核 CPU
- 推荐配置:16GB 内存,四核 CPU
- 操作系统:Windows 10/11, macOS 10.15+, Linux
- JDK 要求:JDK 11 或更高版本
2. IntelliJ IDEA 安装详解
2.1 官方下载渠道
访问 JetBrains 官网:https://www.jetbrains.com/idea/download/
2.2 Windows 系统安装步骤
bash
1. 下载 .exe 安装文件
2. 双击运行安装程序
3. 选择安装路径(建议不要包含中文)
4. 选择创建桌面快捷方式
5. 选择关联文件类型(.java, .kt 等)
6. 完成安装
2.3 macOS 系统安装步骤
bash
1. 下载 .dmg 文件
2. 双击挂载磁盘镜像
3. 将 IntelliJ IDEA 拖拽到 Applications 文件夹
4. 在 Launchpad 中找到并启动
5. 首次启动时允许系统权限
2.4 Linux 系统安装步骤
bash
# 方法一:使用 Toolbox App(推荐)
1. 下载 JetBrains Toolbox
2. 运行 Toolbox 安装 IDEA
# 方法二:手动安装
1. 下载 .tar.gz 文件
2. 解压到 /opt 目录
3. 运行 bin/idea.sh 启动
4. 创建桌面快捷方式
2.5 安装过程中的注意事项
- 安装路径:避免使用中文或特殊字符
- 权限问题:确保有足够的写入权限
- 防病毒软件:可能需要添加信任
- 网络连接:首次启动需要下载插件索引
第二部分:配置篇
3. 首次启动与初始配置
3.1 欢迎界面详解
首次启动后,你会看到欢迎界面,包含:
- New Project:创建新项目
- Open:打开现有项目
- Get from VCS:从版本控制系统获取
- Configure:配置选项
- Plugins:插件市场
3.2 选择主题与外观设置
bash
File → Settings → Appearance & Behavior → Appearance
- Theme: Darcula(暗色)/ Light(亮色)
- UI Options: 调整字体大小
- Use custom font: 自定义字体
3.3 配置 JDK(Java Development Kit)
bash
1. 下载并安装 JDK(推荐 AdoptOpenJDK 或 Oracle JDK)
2. File → Project Structure → Platform Settings → SDKs
3. 点击 + 号,选择 JDK
4. 选择 JDK 安装路径
5. 点击 Apply 应用
3.4 设置默认项目结构
bash
File → Other Settings → Structure for New Projects
- Project SDK: 选择默认 JDK
- Project language level: 选择 Java 版本
- Default Sources: 设置源代码目录
3.5 导入设置与插件市场
bash
Configure → Manage IDE Settings → Import Settings
- 可以导入其他机器的配置
- 或从插件市场安装常用插件
4. 核心配置优化
4.1 内存配置优化(VM Options)
编辑 idea64.exe.vmoptions(Windows)或 idea.vmoptions(macOS/Linux):
properties
-Xms1024m
-Xmx4096m
-XX:ReservedCodeCacheSize=512m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
4.2 编辑器设置
bash
File → Settings → Editor
- Font: Consolas 或 JetBrains Mono
- Size: 14-16
- Line spacing: 1.2
- Tab size: 4 spaces
- Show line numbers: 勾选
4.3 快捷键自定义
bash
File → Settings → Keymap
- 选择预设方案:Windows/Linux 或 macOS
- 自定义常用操作的快捷键
- 导出/导入快捷键配置
4.4 文件编码设置
bash
File → Settings → Editor → File Encodings
- Global Encoding: UTF-8
- Project Encoding: UTF-8
- Default encoding for properties files: UTF-8
4.5 版本控制系统(Git)集成
bash
1. 安装 Git 并配置环境变量
2. File → Settings → Version Control → Git
3. 配置 Git 可执行文件路径
4. 测试连接
5. 插件生态与扩展
5.1 必装插件推荐
- Lombok:简化 Java 代码
- Maven Helper:Maven 依赖管理
- SonarLint:代码质量检查
- Rainbow Brackets:彩色括号
- Key Promoter X:快捷键提示
5.2 Kotlin 插件安装与配置
bash
1. File → Settings → Plugins
2. 搜索 "Kotlin"
3. 点击 Install 安装
4. 重启 IDE
5. 配置 Kotlin 编译器版本
5.3 Lombok 插件使用
bash
1. 安装 Lombok 插件
2. 在项目中添加 Lombok 依赖
3. Enable annotation processing:
File → Settings → Build, Execution, Deployment → Compiler → Annotation Processors
勾选 "Enable annotation processing"
第三部分:实战篇
6. 项目创建与管理
6.1 创建 Java 项目
bash
1. File → New → Project
2. 选择 Java
3. 选择 Project SDK
4. 选择是否创建项目模板
5. 设置项目名称和位置
6. 点击 Finish
6.2 创建 Kotlin 项目
bash
1. File → New → Project
2. 选择 Kotlin
3. 选择 JVM | IDEA
4. 配置 JDK 和 Kotlin 版本
5. 设置项目信息
6. 点击 Finish
6.3 Maven 项目创建
bash
1. File → New → Project
2. 选择 Maven
3. 勾选 "Create from archetype"
4. 选择 maven-archetype-quickstart
5. 配置 GroupId, ArtifactId
6. 选择 Maven home directory
7. 点击 Finish
6.4 Gradle 项目创建
bash
1. File → New → Project
2. 选择 Gradle
3. 选择 Java 或 Kotlin
4. 配置 Gradle settings
5. 设置 GroupId, ArtifactId
6. 点击 Finish
6.5 从现有代码导入项目
bash
1. File → Open
2. 选择项目根目录
3. 等待索引完成
4. 配置项目 SDK
5. 同步构建工具(Maven/Gradle)
6.6 多模块项目管理
bash
1. 创建父项目
2. File → New → Module
3. 选择模块类型
4. 配置模块依赖
5. 在父 pom.xml 或 settings.gradle 中配置
7. 代码编写与智能辅助
7.1 代码自动补全
- Basic Completion:Ctrl + Space(Windows/Linux)/ Control + Space(macOS)
- Smart Completion:Ctrl + Shift + Space / Control + Shift + Space
- Chain Completion:连续补全
7.2 代码生成
bash
Alt + Insert(Windows/Linux)/ Cmd + N(macOS)
- Constructor
- Getter/Setter
- toString()
- Override Methods
- Implement Methods
7.3 代码重构
bash
- Rename: Shift + F6
- Extract Method: Ctrl + Alt + M
- Extract Variable: Ctrl + Alt + V
- Inline: Ctrl + Alt + N
- Change Signature: Ctrl + F6
7.4 实时代码分析
- 红色波浪线:编译错误
- 黄色波浪线:警告
- 绿色波浪线:拼写错误
- 灰色代码:未使用代码
7.5 代码模板
bash
File → Settings → Editor → Live Templates
- psvm: public static void main
- sout: System.out.println
- iter: for-each loop
- 自定义模板
7.6 代码导航
bash
- Go to Class: Ctrl + N / Cmd + O
- Go to File: Ctrl + Shift + N / Cmd + Shift + O
- Go to Symbol: Ctrl + Alt + Shift + N
- Find Usages: Alt + F7
- Declaration: Ctrl + B / Cmd + B
8. 调试与测试
8.1 断点调试详解
bash
1. 在代码行号左侧点击设置断点
2. 右键断点可设置条件断点
3. 点击调试按钮(绿色虫子图标)
4. 使用调试工具栏:
- Step Over: F8
- Step Into: F7
- Step Out: Shift + F8
- Resume Program: F9
8.2 条件断点与日志断点
bash
1. 右键断点
2. 设置条件(如:i > 10)
3. 或设置日志消息(不暂停执行)
8.3 远程调试配置
bash
1. Run → Edit Configurations
2. 点击 + 号,选择 Remote JVM Debug
3. 配置 Host 和 Port
4. 启动远程应用时添加 JVM 参数:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
5. 启动调试配置
8.4 单元测试(JUnit/TestNG)
bash
1. 创建测试类(Alt + Enter → Create Test)
2. 编写 @Test 方法
3. 运行测试(绿色三角形)
4. 查看测试覆盖率
9. 版本控制集成
9.1 Git 基础配置
9.1.1 安装与配置 Git
bash
# 1. 下载并安装 Git
# Windows: https://git-scm.com/download/win
# macOS: brew install git
# Linux: sudo apt-get install git
# 2. 配置全局用户信息
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
# 3. 配置默认分支名称
git config --global init.defaultBranch main
# 4. 配置 IDE 集成
# File → Settings → Version Control → Git
# 配置 Git executable path
9.1.2 IDEA 中的 Git 集成配置
bash
1. File → Settings → Version Control → Git
2. 点击 "Test" 按钮验证 Git 安装
3. 配置 SSH 密钥(如果使用 SSH 连接)
4. 设置 Line Separators: LF (Unix) 或 CRLF (Windows)
9.2 代码提交与推送
9.2.1 本地提交流程
bash
# 图形化操作步骤:
1. 右下角点击 Git → Commit
2. 在 Commit 窗口中:
- 查看修改的文件列表
- 勾选要提交的文件
- 填写 Commit Message
- 点击 Commit 按钮
# 快捷键操作:
- Ctrl + K (Windows/Linux) / Cmd + K (macOS): 打开 Commit 窗口
- Ctrl + Alt + K / Cmd + Option + K: Commit 并 Push
# 命令行等效操作:
git add .
git commit -m "Your commit message"
9.2.2 推送到远程仓库
bash
# 图形化操作:
1. Commit 后,点击 Push 按钮
2. 选择要推送的远程仓库和分支
3. 点击 Push 确认
# 快捷键:
- Ctrl + Shift + K / Cmd + Shift + K: Push
# 命令行等效:
git push origin main
9.2.3 提交信息规范
bash
# 推荐的提交信息格式:
<type>(<scope>): <subject>
# type 可选值:
feat: 新功能
fix: 修复 bug
docs: 文档更新
style: 代码格式调整
refactor: 重构
test: 测试相关
chore: 构建/工具相关
# 示例:
feat(user): add user registration API
fix(auth): resolve login token expiration issue
docs(readme): update installation instructions
9.3 拉取最新代码避免冲突
9.3.1 拉取远程更新
bash
# 图形化操作:
1. VCS → Git → Pull
2. 选择要拉取的远程分支
3. 点击 Pull
# 快捷键:
- Ctrl + T / Cmd + T: Pull
# 命令行等效:
git pull origin main
9.3.2 处理拉取冲突
bash
# 冲突场景:
1. 当本地有未提交的修改时
2. 当远程和本地修改了同一文件的同一行时
# 解决方案:
1. 先提交本地修改(或使用 Stash)
2. Pull 远程更新
3. 解决冲突
4. 重新提交
9.4 分支管理
9.4.1 创建分支
bash
# 图形化操作:
1. 右下角点击当前分支名称
2. 选择 "New Branch"
3. 输入分支名称(推荐命名规范:feature/xxx, bugfix/xxx)
4. 点击 Create
# 快捷键:
- Ctrl + Shift + ` / Cmd + Shift + `: 打开分支管理
# 命令行等效:
git checkout -b feature/new-feature
9.4.2 切换分支
bash
# 图形化操作:
1. 右下角点击当前分支
2. 从列表中选择目标分支
3. 点击 Checkout
# 注意事项:
- 确保当前分支没有未提交的修改
- 如有未提交修改,可使用 Stash 临时保存
# 命令行等效:
git checkout feature/new-feature
9.4.3 分支更新策略
bash
# 策略一:Merge(合并)
- 保留完整的提交历史
- 适合长期维护的分支
# 策略二:Rebase(变基)
- 创建线性提交历史
- 适合短期特性分支
# IDEA 操作:
1. 右键目标分支
2. 选择 "Merge into Current" 或 "Rebase Current onto Selected"
9.5 代码对比与合并
9.5.1 查看文件差异
bash
# 图形化操作:
1. 在 Project 视图中右键文件
2. 选择 "Git → Compare with Latest Repository Version"
3. 或使用快捷键:Ctrl + D / Cmd + D
# 差异视图功能:
- 并排对比(Side by Side)
- 内联对比(Inline)
- 忽略空白字符
- 查看历史版本
9.5.2 合并分支
bash
# 图形化操作:
1. 切换到目标分支(如 main)
2. 右键要合并的分支
3. 选择 "Merge into Current"
4. 选择合并策略:
- Create merge commit(创建合并提交)
- Squash commit(压缩提交)
- Rebase(变基)
# 命令行等效:
git merge feature/new-feature
9.5.3 合并冲突解决
bash
# 冲突标记格式:
<<<<<<< HEAD
// 本地修改
=======
// 远程修改
>>>>>>> branch-name
# IDEA 冲突解决工具:
1. 双击冲突文件打开冲突解决窗口
2. 选择保留左侧、右侧或手动编辑
3. 点击 "Apply" 应用解决
4. 标记为已解决后提交
# 常用操作:
- Accept Yours: 保留本地修改
- Accept Theirs: 保留远程修改
- Merge: 手动合并
- Compare: 对比差异
9.6 怎样忽略不需要提交的文件
9.6.1 创建 .gitignore 文件
bash
# 在项目根目录创建 .gitignore 文件
# 常见忽略规则:
# IDE 配置
.idea/
*.iml
*.iws
*.ipr
# 编译输出
target/
build/
out/
# 依赖包
*.jar
*.war
*.ear
# 日志文件
*.log
logs/
# 环境配置
.env
local.properties
# 操作系统文件
.DS_Store
Thumbs.db
9.6.2 IDEA 中的忽略管理
bash
# 图形化操作:
1. 右键文件或目录
2. 选择 "Git → Add to .gitignore"
3. 或使用 "Mark Directory as → Excluded"
# 查看忽略状态:
VCS → Git → Show Ignored Files
9.7 高级 Git 操作
9.7.1 暂存未完成的代码(Stash)
bash
# 使用场景:
- 需要切换分支但代码未完成
- 需要拉取更新但有未提交修改
# 图形化操作:
1. VCS → Git → Stash Changes
2. 输入 Stash 描述
3. 点击 Create Stash
# 恢复 Stash:
1. VCS → Git → Unstash Changes
2. 选择要恢复的 Stash
3. 点击 Pop 或 Apply
# 命令行等效:
git stash save "work in progress"
git stash pop
9.7.2 查看代码修改历史
bash
# 图形化操作:
1. 右键文件或目录
2. 选择 "Git → Show History"
3. 查看提交历史、作者、时间等信息
# 功能:
- 查看特定提交的详细信息
- 对比不同版本
- 回滚到特定版本
- 查看分支图
9.7.3 撤销操作
bash
# 撤销未提交的修改:
1. 右键文件
2. 选择 "Git → Revert"
3. 或使用快捷键:Ctrl + Alt + Z / Cmd + Option + Z
# 撤销已提交但未推送的提交:
1. 查看提交历史
2. 右键要撤销的提交
3. 选择 "Reset Current Branch to Here"
4. 选择 Reset Type:
- Soft: 保留更改
- Mixed: 重置索引
- Hard: 完全丢弃
# 命令行等效:
git reset --hard HEAD~1
第四部分:高级篇
10. 性能优化与调优
10.1 启动速度优化
bash
1. 减少启动时加载的插件
2. 禁用不必要的检查
3. 使用 SSD 硬盘
4. 增加初始堆内存
10.2 内存使用优化
bash
1. 定期清理缓存:File → Invalidate Caches
2. 关闭不需要的工具窗口
3. 减少打开的项目数量
4. 使用 Power Save Mode
10.3 索引优化
bash
1. Exclude 不需要的目录
2. 减少 VCS 监视的文件
3. 使用 .ideaignore 文件
10.4 插件性能管理
bash
1. 定期检查插件更新
2. 禁用不常用的插件
3. 使用轻量级替代插件
10.5 大项目处理技巧
bash
1. 使用模块化开发
2. 启用按需索引
3. 增加内存配置
4. 使用 Gradle Daemon
11. Kotlin 专项开发
11.1 Kotlin 语言特性支持
- 空安全检查:实时检测空指针风险
- 扩展函数:智能提示扩展函数
- 协程支持:suspend 函数高亮
- DSL 支持:类型安全的构建器
11.2 Kotlin 与 Java 互操作
bash
1. 在 Java 中调用 Kotlin 代码
2. 在 Kotlin 中调用 Java 代码
3. 处理平台类型(Platform Types)
4. 使用 @JvmStatic, @JvmField 注解
11.3 Kotlin DSL 配置
kotlin
// build.gradle.kts 示例
plugins {
kotlin("jvm") version "1.8.0"
}
dependencies {
implementation(kotlin("stdlib"))
testImplementation("junit:junit:4.13.2")
}
11.4 协程调试技巧
bash
1. 使用 Coroutines Debugger 插件
2. 查看协程堆栈
3. 监控协程状态
4. 分析挂起点
12.Spring Boot 与微服务开发
12.1 Spring Initializr 集成
12.1.1 使用 Spring Initializr 创建项目
bash
# 图形化操作步骤:
1. File → New → Project
2. 选择 "Spring Initializr"
3. 配置项目元数据:
- Project SDK: 选择 JDK 版本
- Language: Java
- Type: Maven Project
- Group: com.example
- Artifact: demo
- Name: demo
- Package name: com.example.demo
- Packaging: Jar
- Java: 17 (推荐)
4. 点击 Next
12.1.2 选择 Spring Boot 版本和依赖
bash
# 推荐的依赖组合:
# Web 开发
- Spring Web
- Spring Boot DevTools (热部署)
- Thymeleaf (模板引擎,可选)
# 数据访问
- Spring Data JPA
- MySQL Driver / PostgreSQL Driver
- H2 Database (测试用)
# 安全
- Spring Security
# 监控
- Spring Boot Actuator
# 其他常用
- Lombok
- Validation
- Configuration Processor
# 操作步骤:
1. 在 Dependencies 搜索框中输入依赖名称
2. 点击添加到右侧已选依赖列表
3. 点击 Next → Finish
12.1.3 项目结构解析
bash
# 自动生成的项目结构:
demo/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── example/
│ │ │ └── demo/
│ │ │ ├── DemoApplication.java # 启动类
│ │ │ └── controller/ # 控制器包
│ │ │ └── service/ # 服务层包
│ │ │ └── repository/ # 数据访问层
│ │ │ └── model/ # 模型类
│ │ └── resources/
│ │ ├── application.properties # 配置文件
│ │ ├── application.yml # YAML 配置
│ │ ├── static/ # 静态资源
│ │ └── templates/ # 模板文件
│ └── test/
│ └── java/
│ └── com/
│ └── example/
│ └── demo/
│ └── DemoApplicationTests.java
├── pom.xml # Maven 配置
└── README.md
12.2 Spring Boot 项目配置
12.2.1 application.properties 配置
properties
# 服务器配置
server.port=8080
server.servlet.context-path=/api
# 数据源配置
spring.datasource.url=jdbc:mysql://localhost:3306/demo_db?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# JPA 配置
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
# 日志配置
logging.level.com.example.demo=DEBUG
logging.level.org.springframework=INFO
# Actuator 配置
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
12.2.2 application.yml 配置(推荐)
yaml
server:
port: 8080
servlet:
context-path: /api
spring:
datasource:
url: jdbc:mysql://localhost:3306/demo_db?useSSL=false&serverTimezone=UTC
username: root
password: your_password
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
hibernate:
ddl-auto: update
show-sql: true
properties:
hibernate:
dialect: org.hibernate.dialect.MySQL8Dialect
# 多环境配置
profiles:
active: dev
# 多环境配置文件
# application-dev.yml (开发环境)
# application-test.yml (测试环境)
# application-prod.yml (生产环境)
12.2.3 IDEA 中的 Spring Boot 配置优化
bash
# 启用 Spring Boot 支持:
1. File → Settings → Build, Execution, Deployment → Build Tools → Maven
2. 确保勾选 "Import Maven projects automatically"
# 配置 Spring Boot Run Dashboard:
1. Run → Edit Configurations
2. 点击 + 号,选择 Spring Boot
3. 配置:
- Main class: com.example.demo.DemoApplication
- Active profiles: dev
- VM options: -Xms512m -Xmx1024m
- Environment variables: SPRING_PROFILES_ACTIVE=dev
# 启用热部署:
1. 在 pom.xml 中添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
2. File → Settings → Build, Execution, Deployment → Compiler
3. 勾选 "Build project automatically"
4. 按住 Ctrl + Shift + A,搜索 "Registry"
5. 勾选 "compiler.automake.allow.when.app.running"
12.3 REST API 开发
12.3.1 创建 REST Controller
java
package com.example.demo.controller;
import com.example.demo.model.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Optional;
/**
* 用户管理 REST API
*/
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private UserService userService;
/**
* 获取所有用户
*/
@GetMapping
public ResponseEntity<List<User>> getAllUsers() {
List<User> users = userService.findAll();
return ResponseEntity.ok(users);
}
/**
* 根据ID获取用户
*/
@GetMapping("/{id}")
public ResponseEntity<User> getUserById(@PathVariable Long id) {
Optional<User> user = userService.findById(id);
return user.map(ResponseEntity::ok)
.orElseGet(() -> ResponseEntity.notFound().build());
}
/**
* 创建新用户
*/
@PostMapping
public ResponseEntity<User> createUser(@RequestBody User user) {
User savedUser = userService.save(user);
return ResponseEntity.status(201).body(savedUser);
}
/**
* 更新用户
*/
@PutMapping("/{id}")
public ResponseEntity<User> updateUser(
@PathVariable Long id,
@RequestBody User userDetails) {
User updatedUser = userService.update(id, userDetails);
return ResponseEntity.ok(updatedUser);
}
/**
* 删除用户
*/
@DeleteMapping("/{id}")
public ResponseEntity<Void> deleteUser(@PathVariable Long id) {
userService.deleteById(id);
return ResponseEntity.noContent().build();
}
}
12.3.2 使用 IDEA 的代码生成功能
bash
# 快速生成 Controller 代码:
1. 在包上右键 → New → Java Class
2. 输入类名,选择 "Class" → "Controller"
3. 使用 Live Templates:
- 输入 "rest" + Tab: 生成 @RestController
- 输入 "reqmap" + Tab: 生成 @RequestMapping
- 输入 "getmap" + Tab: 生成 @GetMapping
# 生成 Getter/Setter:
1. Alt + Insert (Windows/Linux) / Cmd + N (macOS)
2. 选择 "Getter and Setter"
3. 选择要生成的字段
# 生成构造函数:
1. Alt + Insert / Cmd + N
2. 选择 "Constructor"
3. 选择要包含的字段
12.3.3 使用 IDEA 内置 HTTP 客户端测试
bash
# 创建 HTTP 请求文件:
1. 在项目中创建 .http 文件(如: api-tests.http)
2. 编写测试请求:
### 获取所有用户
GET http://localhost:8080/api/users
Accept: application/json
### 获取单个用户
GET http://localhost:8080/api/users/1
Accept: application/json
### 创建用户
POST http://localhost:8080/api/users
Content-Type: application/json
{
"name": "John Doe",
"email": "john@example.com",
"age": 30
}
### 更新用户
PUT http://localhost:8080/api/users/1
Content-Type: application/json
{
"name": "Jane Doe",
"email": "jane@example.com",
"age": 28
}
### 删除用户
DELETE http://localhost:8080/api/users/1
# 运行测试:
点击请求左侧的绿色运行按钮
查看响应结果
12.4 数据库集成
12.4.1 JPA 实体类创建
java
package com.example.demo.model;
import jakarta.persistence.*;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import java.time.LocalDateTime;
/**
* 用户实体类
*/
@Entity
@Table(name = "users")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false, length = 100)
private String name;
@Column(nullable = false, unique = true, length = 100)
private String email;
@Column(nullable = false)
private Integer age;
@Column(name = "created_at", updatable = false)
private LocalDateTime createdAt;
@Column(name = "updated_at")
private LocalDateTime updatedAt;
@PrePersist
protected void onCreate() {
createdAt = LocalDateTime.now();
updatedAt = LocalDateTime.now();
}
@PreUpdate
protected void onUpdate() {
updatedAt = LocalDateTime.now();
}
}
12.4.2 Repository 接口
java
package com.example.demo.repository;
import com.example.demo.model.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional;
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
/**
* 根据邮箱查找用户
*/
Optional<User> findByEmail(String email);
/**
* 根据年龄范围查找用户
*/
List<User> findByAgeBetween(Integer minAge, Integer maxAge);
/**
* 自定义查询:查找年龄大于指定值的用户
*/
@Query("SELECT u FROM User u WHERE u.age > :minAge")
List<User> findUsersOlderThan(@Param("minAge") Integer minAge);
/**
* 统计用户数量
*/
long countByAgeGreaterThan(Integer age);
}
12.4.3 Service 层实现
java
package com.example.demo.service;
import com.example.demo.model.User;
import com.example.demo.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Optional;
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
/**
* 获取所有用户
*/
@Transactional(readOnly = true)
public List<User> findAll() {
return userRepository.findAll();
}
/**
* 根据ID查找用户
*/
@Transactional(readOnly = true)
public Optional<User> findById(Long id) {
return userRepository.findById(id);
}
/**
* 保存用户
*/
@Transactional
public User save(User user) {
return userRepository.save(user);
}
/**
* 更新用户
*/
@Transactional
public User update(Long id, User userDetails) {
return userRepository.findById(id)
.map(user -> {
user.setName(userDetails.getName());
user.setEmail(userDetails.getEmail());
user.setAge(userDetails.getAge());
return userRepository.save(user);
})
.orElseThrow(() -> new RuntimeException("User not found"));
}
/**
* 删除用户
*/
@Transactional
public void deleteById(Long id) {
userRepository.deleteById(id);
}
/**
* 根据邮箱查找用户
*/
@Transactional(readOnly = true)
public Optional<User> findByEmail(String email) {
return userRepository.findByEmail(email);
}
}
12.4.4 IDEA 数据库工具集成
bash
# 连接数据库:
1. 右侧边栏点击 "Database" 工具窗口
2. 点击 + 号 → Data Source → MySQL/PostgreSQL
3. 配置连接信息:
- Host: localhost
- Port: 3306
- Database: demo_db
- User: root
- Password: your_password
4. 点击 "Test Connection" 测试
5. 点击 OK 连接
# 数据库工具功能:
- 查看表结构
- 执行 SQL 查询
- 导入/导出数据
- 生成实体类(右键表 → Scripted Extensions → Generate POJOs.groovy)
- 可视化查询构建器
12.5 微服务调试
12.5.1 多模块项目调试
bash
# 创建多模块项目结构:
parent-project/
├── pom.xml (父POM)
├── user-service/
│ ├── pom.xml
│ └── src/
├── order-service/
│ ├── pom.xml
│ └── src/
└── common/
├── pom.xml
└── src/
# 配置步骤:
1. 创建父项目(Maven类型,Packaging: pom)
2. 在父项目中右键 → New → Module
3. 选择 Spring Initializr 创建子模块
4. 配置模块依赖关系
12.5.2 远程调试配置
bash
# 配置远程调试:
1. Run → Edit Configurations
2. 点击 + 号 → Remote JVM Debug
3. 配置:
- Host: localhost (或远程服务器IP)
- Port: 5005
- Module: 选择要调试的模块
# 启动应用时添加 JVM 参数:
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar app.jar
# 或在 application.properties 中配置:
spring.devtools.remote.debug.local-port=5005
12.5.3 分布式追踪与日志
java
# 添加依赖(pom.xml):
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
# 配置 application.yml:
spring:
sleuth:
sampler:
probability: 1.0 # 100% 采样率
zipkin:
base-url: http://localhost:9411
# 在代码中使用:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TraceController {
private static final Logger logger = LoggerFactory.getLogger(TraceController.class);
@GetMapping("/trace")
public String trace() {
logger.info("Processing trace request");
return "Traced!";
}
}
12.5.4 使用 Actuator 监控
bash
# 添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
# 配置 application.yml:
management:
endpoints:
web:
exposure:
include: health,info,metrics,env,beans,loggers,threaddump,heapdump
endpoint:
health:
show-details: always
metrics:
export:
prometheus:
enabled: true
# 访问监控端点:
http://localhost:8080/actuator/health
http://localhost:8080/actuator/metrics
http://localhost:8080/actuator/env
第五部分:问题解决篇
13. 常见问题与解决方案
13.1 IDEA 启动失败问题
bash
解决方案:
1. 删除 .idea 目录重新导入
2. 清理缓存:删除 system 目录
3. 检查 JDK 版本兼容性
4. 重新安装或修复安装
13.2 项目索引卡顿问题
bash
解决方案:
1. File → Invalidate Caches / Restart
2. Exclude 大型目录(如 node_modules)
3. 增加内存配置
4. 关闭实时检查
13.3 插件冲突解决
bash
解决方案:
1. 禁用最近安装的插件
2. 逐个启用排查
3. 查看日志文件定位问题
4. 更新或降级插件版本
13.4 内存溢出处理
bash
解决方案:
1. 增加 -Xmx 参数
2. 启用 Power Save Mode
3. 减少打开的文件数量
4. 关闭不需要的工具窗口
13.5 Gradle/Maven 同步失败
bash
解决方案:
1. 检查网络连接
2. 配置国内镜像源
3. 清理本地仓库缓存
4. 使用离线模式
14. 避坑指南与最佳实践
14.1 配置文件备份策略
bash
1. 定期导出设置:File → Manage IDE Settings → Export Settings
2. 使用 Settings Repository 插件
3. 备份 .idea 目录(选择性)
4. 使用版本控制系统管理配置
14.2 项目迁移注意事项
bash
1. 确保 JDK 版本一致
2. 检查插件兼容性
3. 更新路径配置
4. 重新索引项目
14.3 团队协作规范
bash
1. 统一代码风格
2. 共享检查配置
3. 使用 .editorconfig 文件
4. 代码审查流程
第六部分:进阶篇
15. 自定义与扩展开发
15.1 自定义代码模板
bash
File → Settings → Editor → Live Templates
1. 选择模板组
2. 点击 + 号创建新模板
3. 设置缩写和描述
4. 编写模板代码
5. 定义变量和应用范围
15.2 自定义检查规则
bash
File → Settings → Editor → Inspections
1. 创建自定义检查配置文件
2. 启用/禁用特定检查
3. 调整严重程度
4. 导出配置供团队使用
15.3 插件开发入门
bash
1. 安装 IntelliJ Platform Plugin
2. 创建 Plugin 项目
3. 编写插件代码
4. 调试和测试
5. 发布到 JetBrains Marketplace
16. 团队协作与 CI/CD
16.1 代码风格统一
16.1.1 配置 .editorconfig 文件
bash
# 在项目根目录创建 .editorconfig 文件
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[*.java]
indent_style = space
indent_size = 4
max_line_length = 120
[*.kt]
indent_style = space
indent_size = 4
max_line_length = 120
[*.xml]
indent_style = space
indent_size = 2
[*.yml]
indent_style = space
indent_size = 2
[*.md]
trim_trailing_whitespace = false
16.1.2 IDEA 代码样式配置
bash
# 配置 Java 代码样式:
1. File → Settings → Editor → Code Style → Java
2. 配置选项:
- Tabs and Indents: 使用 spaces,大小为 4
- Wrapping and Braces: 配置换行规则
- Blank Lines: 配置空行规则
- Imports: 配置导入顺序
# 导出/导入代码样式:
1. Settings → Editor → Code Style
2. 点击齿轮图标 → Export Scheme
3. 保存为 XML 文件供团队共享
4. 团队成员导入:Import Scheme
# 使用 Checkstyle 插件:
1. 安装 Checkstyle-IDEA 插件
2. 配置 Checkstyle 配置文件
3. 右键项目 → Checkstyle → Check Code
16.1.3 代码格式化快捷键
bash
# 格式化代码:
- Ctrl + Alt + L (Windows/Linux) / Cmd + Option + L (macOS)
# 优化导入:
- Ctrl + Alt + O / Control + Option + O
# 重新格式化整个文件:
右键编辑器 → Reformat Code
# 自动格式化设置:
File → Settings → Editor → General → Editor Tabs
勾选 "Reformat on paste" 和 "Optimize imports on the fly"
16.2 检查配置共享
16.2.1 创建团队检查配置
bash
# 导出检查配置:
1. File → Settings → Editor → Inspections
2. 点击齿轮图标 → Export Profile
3. 保存为 XML 文件(如: team-inspections.xml)
# 导入检查配置:
1. Settings → Editor → Inspections
2. 点击齿轮图标 → Import Profile
3. 选择团队配置文件
# 推荐的检查规则:
- Java → Code style issues
- Java → Probable bugs
- Java → Performance issues
- Java → Security issues
- Kotlin → Style issues
- Kotlin → Potential bugs
16.2.2 使用 SonarLint 进行代码质量检查
bash
# 安装 SonarLint 插件:
1. File → Settings → Plugins
2. 搜索 "SonarLint"
3. 点击 Install
# 配置 SonarLint:
1. Settings → Tools → SonarLint
2. 配置 SonarQube 服务器连接(可选)
3. 设置分析触发方式(On-the-fly 或 Manual)
# 使用 SonarLint:
- 实时检测代码质量问题
- 查看问题详情和修复建议
- 右键问题 → Show Description
- 批量修复:右键项目 → Analyze → Inspect Code
16.3 与 Jenkins 集成
16.3.1 Jenkins 基础配置
bash
# 安装 Jenkins:
# Docker 安装(推荐):
docker run -d -p 8080:8080 -p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts
# 访问 Jenkins:
http://localhost:8080
# 安装必要插件:
- Git Plugin
- GitHub Plugin
- Maven Integration
- Pipeline
- Blue Ocean
16.3.2 创建 Jenkins Pipeline
groovy
// 在项目根目录创建 Jenkinsfile
pipeline {
agent any
tools {
maven 'Maven 3.8.6'
jdk 'JDK 17'
}
stages {
stage('Checkout') {
steps {
checkout scm
}
}
stage('Build') {
steps {
sh 'mvn clean package -DskipTests'
}
}
stage('Test') {
steps {
sh 'mvn test'
}
post {
always {
junit '**/target/surefire-reports/*.xml'
}
}
}
stage('Deploy') {
when {
branch 'main'
}
steps {
sh 'mvn deploy'
}
}
}
post {
success {
echo 'Build succeeded!'
}
failure {
echo 'Build failed!'
}
}
}
16.3.3 IDEA 中的 Jenkins 集成
bash
# 安装 Jenkins Plugin:
1. File → Settings → Plugins
2. 搜索 "Jenkins Control Plugin"
3. 点击 Install
# 配置 Jenkins 连接:
1. Settings → Other Settings → Jenkins Configuration
2. 添加 Jenkins 服务器:
- Name: My Jenkins
- URL: http://localhost:8080
- Username: your_username
- API Token: your_api_token
# 使用 Jenkins 工具窗口:
1. View → Tool Windows → Jenkins
2. 查看构建状态
3. 触发构建
4. 查看构建日志
16.4 Docker 集成
16.4.1 创建 Dockerfile
dockerfile
# 基础镜像
FROM openjdk:17-jdk-slim
# 维护者信息
LABEL maintainer="your.email@example.com"
# 设置工作目录
WORKDIR /app
# 复制 JAR 文件
COPY target/demo-0.0.1-SNAPSHOT.jar app.jar
# 暴露端口
EXPOSE 8080
# 设置环境变量
ENV SPRING_PROFILES_ACTIVE=prod
# 启动应用
ENTRYPOINT ["java", "-jar", "app.jar"]
16.4.2 IDEA Docker 插件配置
bash
# 安装 Docker 插件:
1. File → Settings → Plugins
2. 搜索 "Docker"
3. 点击 Install
# 配置 Docker 连接:
1. Settings → Build, Execution, Deployment → Docker
2. 点击 + 号添加 Docker 服务器
3. 配置:
- Engine API URL: unix:///var/run/docker.sock (Linux/Mac)
- 或 tcp://localhost:2375 (Windows)
4. 点击 Test Connection 验证
# 使用 Docker 工具窗口:
1. View → Tool Windows → Docker
2. 查看容器、镜像、网络
3. 启动/停止容器
4. 查看容器日志
16.4.3 Docker Compose 集成
yaml
# docker-compose.yml
version: '3.8'
services:
app:
build:
context: .
dockerfile: Dockerfile
ports:
- "8080:8080"
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://db:3306/demo_db
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=your_password
depends_on:
- db
networks:
- app-network
db:
image: mysql:8.0
environment:
- MYSQL_ROOT_PASSWORD=your_password
- MYSQL_DATABASE=demo_db
ports:
- "3306:3306"
volumes:
- mysql-data:/var/lib/mysql
networks:
- app-network
volumes:
mysql-data:
networks:
app-network:
driver: bridge
16.4.4 在 IDEA 中运行 Docker Compose
bash
# 创建 Docker Compose 运行配置:
1. Run → Edit Configurations
2. 点击 + 号 → Docker-compose
3. 配置:
- Name: docker-compose up
- Configuration file: docker-compose.yml
- Services: 选择要启动的服务
4. 点击 OK
# 运行:
1. 选择配置
2. 点击运行按钮
3. 查看容器日志和状态
16.5 云开发环境
16.5.1 使用 GitHub Codespaces
bash
# 配置 devcontainer.json:
{
"name": "Java Development",
"image": "mcr.microsoft.com/devcontainers/java:17",
"features": {
"ghcr.io/devcontainers/features/java:1": {
"version": "17",
"installMaven": "true",
"installGradle": "true"
},
"ghcr.io/devcontainers/features/docker-in-docker:2": {}
},
"customizations": {
"vscode": {
"extensions": [
"vscjava.vscode-java-pack",
"ms-azuretools.vscode-docker",
"GitHub.codespaces"
]
}
},
"forwardPorts": [8080, 3306],
"postCreateCommand": "mvn clean install"
}
# 在 IDEA 中使用:
1. 安装 GitHub Codespaces 插件
2. 连接到 Codespace
3. 在云端开发环境工作
16.5.2 使用 Gitpod
bash
# 配置 .gitpod.yml:
image: gitpod/workspace-java-17
ports:
- port: 8080
onOpen: open-preview
tasks:
- init: mvn clean install
command: mvn spring-boot:run
vscode:
extensions:
- vscjava.vscode-java-pack
- ms-azuretools.vscode-docker
# 在 IDEA 中连接:
1. 安装 Gitpod 插件
2. 打开 Gitpod 工作区
3. 同步代码和配置
16.5.3 配置远程开发环境
bash
# 使用 SSH 远程开发:
1. 安装 Remote Development 插件
2. 配置 SSH 连接:
- Host: your-server.com
- User: username
- Port: 22
3. 连接到远程服务器
4. 在远程环境中开发
# 配置同步设置:
1. Settings → Tools → Deployment
2. 配置自动上传
3. 设置排除文件
4. 配置同步触发器
第七部分:总结与资源
17. 学习路径推荐
17.1 新手入门路线图(1-3个月)
第1周:安装配置 + 基础操作
第2周:项目创建 + 代码编写
第3周:调试技巧 + 版本控制
第4周:插件使用 + 快捷键熟练
第2个月:深入学习特定功能
第3个月:实战项目 + 问题解决
17.2 进阶提升路线图(3-6个月)
性能优化技巧
插件开发基础
团队协作规范
自动化工具集成
源码阅读与调试
17.3 专家级技能路线图(6个月+)
IDE 内部机制理解
自定义语言支持
大规模项目优化
CI/CD 集成
性能调优专家
18. 参考资料与资源
18.1 官方文档链接
18.2 推荐书籍
- 《IntelliJ IDEA 实战》 - 全面的 IDEA 使用指南
- 《Kotlin 编程权威指南》 - Kotlin 语言深度学习
- 《Effective Java》 - Java 最佳实践
- 《重构:改善既有代码的设计》 - 代码重构经典
18.3 在线课程推荐
- JetBrains 官方培训课程
- Udemy: "IntelliJ IDEA Master Class"
- Coursera: "Java Programming and Software Engineering Fundamentals"
- 慕课网:IDEA 相关课程
18.4 社区与论坛
- Stack Overflow
- JetBrains 官方论坛
- Reddit: r/intellijidea
- GitHub Discussions
18.5 常用快捷键速查表
| 操作 | Windows/Linux | macOS |
|---|---|---|
| 自动补全 | Ctrl + Space | Control + Space |
| 智能补全 | Ctrl + Shift + Space | Control + Shift + Space |
| 查找类 | Ctrl + N | Cmd + O |
| 查找文件 | Ctrl + Shift + N | Cmd + Shift + O |
| 重构重命名 | Shift + F6 | Shift + F6 |
| 生成代码 | Alt + Insert | Cmd + N |
| 格式化代码 | Ctrl + Alt + L | Cmd + Option + L |
| 优化导入 | Ctrl + Alt + O | Control + Option + O |
| 查找替换 | Ctrl + R | Cmd + R |
| 全局查找 | Ctrl + Shift + F | Cmd + Shift + F |
| 运行 | Shift + F10 | Control + R |
| 调试 | Shift + F9 | Control + D |
| 单步跳过 | F8 | F8 |
| 单步进入 | F7 | F7 |
| 跳出 | Shift + F8 | Shift + F8 |
19. 总结与展望
19.1 IntelliJ IDEA 的核心价值
- 智能代码分析:实时检测错误和优化建议
- 强大的重构工具:安全高效地重构代码
- 丰富的插件生态:满足各种开发需求
- 优秀的用户体验:流畅的界面和操作
- 跨平台支持:Windows、macOS、Linux 全面支持
19.2 未来发展趋势
- AI 辅助编程:更智能的代码生成和建议
- 云开发集成:与云平台的深度集成
- 多语言支持:更广泛的语言支持
- 性能持续优化:更快的启动和响应速度
- 协作开发增强:实时协作功能
19.3 持续学习建议
- 关注官方更新:定期查看 JetBrains 博客
- 参与社区讨论:在论坛中交流经验
- 实践新功能:每个版本尝试新特性
- 分享经验:写博客或做技术分享
- 探索插件:发现提升效率的新工具
附录
附录 A:系统要求详细说明
- Windows: Windows 10/11 (64-bit)
- macOS: macOS 10.15+ (Catalina or later)
- Linux: Any modern 64-bit distribution
- 内存: 最低 4GB,推荐 16GB+
- 磁盘空间: 最少 2.5GB,推荐 5GB+
附录 B:常见错误代码及解决方案
- Error 1001: JDK 配置错误
- Error 2001: 插件冲突
- Error 3001: 内存不足
- Error 4001: 网络连接失败
附录 C:推荐插件清单
- 开发效率: Lombok, Maven Helper, SonarLint
- 代码质量: CheckStyle, PMD, FindBugs
- UI 增强: Rainbow Brackets, Material Theme UI
- 版本控制: GitToolBox, Git Scope
- 数据库: Database Tools, MyBatisCodeHelper
附录 D:快捷键自定义示例
json
{
"custom_shortcuts": {
"format_and_optimize": "Ctrl+Alt+Shift+L",
"generate_test": "Alt+Shift+T",
"toggle_comment": "Ctrl+/"
}
}
版权声明:本指南仅供参考学习使用,内容基于 IntelliJ IDEA 官方文档和实践经验整理。如有疏漏或错误,欢迎指正。
更新日期 :2026年5月
适用版本 :IntelliJ IDEA 2024.x 及以上
作者:AI 技术助手
这份完整的 IntelliJ IDEA 指南涵盖了从安装到高级使用的各个方面,结构清晰,内容详实,适合不同水平的开发者参考学习。希望这份指南能帮助你快速掌握 IntelliJ IDEA,提升开发效率!