# IntelliJ IDEA 教程

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

这里提供 IntelliJ IDEA 教程，旨在帮助编写高质量编码、跟上现代开发趋势，并在任何项目设置中可靠工作。

## 第一步

配置您的环境并创建简单的 Java 应用程序。

[创建您的第一个 Java 应用程序](creating-and-running-your-first-java-application.html)
: 了解如何在 IntelliJ IDEA 中创建、运行简单的 Java 应用程序并为其创建软件包。 本教程介绍旨在支持高效 Java 开发的编码辅助和基本工具。

[运行 Java 应用程序](run-java-applications.html)
: 了解如何运行 Java 应用程序、创建运行/调试配置、保存输出，并自定义虚拟机选项以适合你的工作流。

[调试您的第一个 Java 应用程序](debugging-your-first-java-application.html)
: 使用 IntelliJ IDEA 的调试器和实时代码分析来高效识别并解决问题，从而维护可靠、整洁的编码。

## IDE 配置

自定义 IDE，打造舒适的工作流程。

[自定义编辑器](customize-editor.html)
: 根据视觉偏好设置和工作流程要求自定义 IntelliJ IDEA 编辑器。 学习如何调整编辑器字体和颜色、管理编辑器标签、配置可视化辅助和换行，并启用如固定行和嵌入提示等高级外观功能。

[在编辑器中进行编码](work-with-code-in-editor.html)
: 学习提升编码效率的编辑器常用快捷键和技巧，加快工作流程。

## Kotlin

探索 IntelliJ IDEA 对 [Kotlin 开发](https://kotlinlang.org/docs/home.html) 的支持，包括项目创建、调试、测试以及代码分析工具，这些工具旨在帮助进行整洁、高质量的 Kotlin 编码。

[创建您的第一个 Kotlin 应用程序](create-your-first-kotlin-app.html)
: 创建第一个 Kotlin 项目，在编码辅助下编写代码，并使用受支持的构建工具之一构建应用程序。

[使用 Kotlin 进行测试驱动开发](tdd-with-kotlin.html)
: 先编写测试并逐步演进编码，帮助构建具有强大测试覆盖率的可靠现代 Kotlin 应用程序。

[调试您的第一个 Kotlin 应用程序](debug-your-first-kotlin-application.html)
: 了解如何使用集成工具调试 Kotlin 应用程序，这些工具可帮助在开发期间快速跟踪和修复问题。

[Kotlin 中的结构化搜索和替换](tutorial-structural-search-and-replace-in-kotlin.html)
: 将结构搜索和替换应用到 Kotlin 编码。 本教程介绍如何自定义模板、使用匹配筛选器，以及定义检查来强制执行一致的编码模式。

## Spring

使用 IntelliJ IDEA 与 Spring 和 Spring Boot 的集成来创建、构建和运行 Spring 应用程序。

[创建您的第一个 Spring 应用程序](your-first-spring-application.html)
: 使用 IntelliJ IDEA 的项目向导和 Spring Initializr 创建并运行一个简单的 Spring Boot 应用程序。 公开一个 HTTP 端点，并使用运行配置和 Maven 运行该应用。

[探索 Spring 功能](spring-support-tutorial.html)
: 了解 IntelliJ IDEA 如何帮助在运行时编写、分析和管理 Spring 应用程序。 本教程使用 Spring Boot Maven 项目，并演示 IDE 如何通过智能辅助和集成工具支持开发。

[构建 Spring Boot REST API](spring-boot-rest-api-tutorial.html)
: 分四个部分构建照片共享 REST API：添加 GET、POST 和 DELETE 端点，上传和下载文件，使用 Spring Data JDBC 将数据存储在 H2 数据库中，并将应用程序制作为可执行文件 JAR 软件包。

[使用 Docker Compose 运行并调试 Spring Boot 应用程序](run-and-debug-a-spring-boot-application-using-docker-compose.html)
: 使用 Docker Compose 在单独的容器中运行 Spring Boot 应用程序和 MySQL 数据库。 了解如何配置服务、公开端点，并直接从 IntelliJ IDEA 调试应用程序。

## Jakarta EE

快速上手创建和部署 Jakarta EE 项目。

[创建您的第一个 Jakarta EE 应用程序](creating-and-running-your-first-jakarta-ee-application.html)
: 构建一个包含 JSP 页面和 servlet 的简单 Jakarta EE Web 应用程序，并了解如何使用 IntelliJ IDEA 的内置服务器集成来部署它。

[创建您的第一个 RESTful Web 服务](creating-and-running-your-first-restful-web-service.html)
: 使用 IntelliJ IDEA 和 Tomcat 创建并部署一个简单的 RESTful 服务，并通过浏览器或 HTTP 客户端访问它。

## 测试和调试

设置并运行测试、调试应用程序，并使用集成的测试和调试功能调查并发问题。

[在 IntelliJ IDEA 中进行测试驱动开发](tdd-with-intellij-idea.html)
: 在 IntelliJ IDEA 中练习测试驱动开发 (TDD)，并了解如何编写、导航和运行单元测试。

[从 JUnit 入门](junit.html)
: 了解如何在项目中设置 JUnit、编写测试并运行它们来验证编码。 本教程包含帮助开始进行单元测试的基本步骤。

[在调试期间设置值](tutorial-set-value.html)
: 在调试器中使用"设置值"功能，在运行时修改变量值。 此功能可帮助模拟特定条件并对问题进行故障排除，而无需修改编码。

[远程调试](tutorial-remote-debug.html)
: 将调试器附加到本地或远程进程，以检查开发环境之外的应用程序行为并进行故障排除。

[检测并发问题](detect-concurrency-issues.html)
: 在 IntelliJ IDEA 中调试和分析多线程应用程序。 按照示例场景操作，帮助理解可能偶发且更难检测的并发问题并进行故障排除。

## 版本控制

使用版本控制集成，无需离开 IntelliJ IDEA 即可管理您的代码更改。

[Git 入门](working-with-git-tutorial.html)
: 基于您的项目创建 Git 仓库、在 GitHub 上共享、提交并推送更改、创建并合并分支、解决合并冲突，并查看文件历史记录。

## 构建工具

使用 Maven 或 Gradle 配置项目、管理依赖项，并支持可靠、结构化的构建。 IntelliJ IDEA 还可以轻松集成 JNI 开发等高级工作流。

[为现有 Java 项目添加 Maven 支持](convert-a-regular-project-into-a-maven-project.html)
: 为 Java 项目添加 Maven 支持，并使用它管理构建和依赖项。 本教程将指导你将 IntelliJ IDEA 项目转换为 Maven 项目。

[从 Gradle 入门](getting-started-with-gradle.html)
: 创建新的 Gradle 项目、运行和测试编码，并使用 Gradle 执行已创建软件包的 JAR 文件。

[将 Java 库发布到 Maven 存储库](add-a-gradle-library-to-the-maven-repository.html)
: 将 Java 库从 Gradle 项目发布到本地 Maven 仓库，然后发布到远程仓库。 这有助于在多个项目和开发环境中重用和共享编码。

[在 Gradle 项目中设置 JNI 开发](setting-up-jni-development-in-gradle-project.html)
: 配置 Gradle 项目以使用 Java Native Interface (JNI)，包括原生代码设置和构建自定义。

## 部署

使用 IntelliJ IDEA 在容器中或远程主机上部署和调试应用程序。 对 Docker、Docker Compose、Kubernetes 和应用程序服务器的内置支持，可轻松管理现代和传统部署工作流。

[将应用程序部署到 minikube 集群](deploy-your-application-to-a-minikube-cluster.html)
: 直接从 IntelliJ IDEA 启动包含 minikube 的本地 Kubernetes 集群，并将示例应用程序部署到该集群。 在本教程中，将构建 Gradle 应用程序，为其创建 Docker 镜像软件包，并将其部署到 minikube。

[在应用服务器容器内部署 Java Web 应用程序](deploying-a-web-app-into-an-app-server-container.html)
: 构建 WAR 文件，并将其部署到在 Docker 容器中运行的 Tomcat 或 WildFly 等应用程序服务器。

[将 Java 应用程序容器化](dockerize-java-app.html)
: 了解如何为已编译的 Java 应用程序创建 Docker 镜像。 本教程介绍软件包制作、运行容器化应用，以及共享镜像以支持可复现的且可移植的部署。

[使用 Docker 运行并调试 Java 应用程序](running-a-java-app-in-a-container.html)
: 使用 Docker 集成在容器内运行和调试 Java 应用程序。 本教程展示如何创建 Docker 运行目标，并在隔离、可复现的环境中调试应用程序。

[在 Docker 容器中运行数据库](running-a-dbms-image.html)
: 使用 Docker 在容器中运行数据库，就像它是远程服务器一样，并测试应用程序如何与其交互。

[在运行 Tomcat 的容器中部署并调试 Java Web 应用程序](docker-tutorial-tomcat-debug.html)
: 使用 Docker 和 Docker Compose 运行应用程序服务器容器，并部署 Java Web 应用程序以进行测试和调试。 本教程展示如何使用挂载的 WAR 配置 Tomcat、公开调试器端口，并从 IntelliJ IDEA 连接。

[在 IntelliJ IDEA 中进行部署](tutorial-deployment-in-product.html)
: 了解如何使用 IntelliJ IDEA 逐步配置和管理将编码部署到远程主机。

## 语言和框架

探索面向 Java、Python、Ruby 等的语言特定支持与框架集成，助力专业开发。

[科学项目教程](matplotlib-tutorial.html)
: 创建用于科学计算的 Python 项目。 了解如何使用 IntelliJ IDEA 对 Python 的支持和内置科学工具来运行、调试和可视化数据。

[使用 Testify 工具包](using-the-testify-toolkit.html)
: 使用流行的 Testify 软件包为 Go 应用程序编写和运行测试。

[从导入的 Rails 项目入门](get-started.html)
: 导入 Ruby on Rails 项目并配置环境。 本教程将指导你在 IntelliJ IDEA 中运行、调试和使用 Rails 应用程序。

## 数据库

了解在 IntelliJ IDEA 中使用数据库的关键概念和入门步骤。

[从数据库入门](quick-start-with-database-functionality.html)
: 连接到示例数据库，并熟悉数据库工具，这些工具旨在 Simplify IDE 中的数据查询、浏览和管理。

## 集成工具

借助 IntelliJ IDEA 的内置工具提升工作效率，这些工具用于版本控制、任务管理、结构化代码分析、UI 设计等。

[将 IntelliJ IDEA 用作默认命令行合并工具](tutorial-use-idea-as-default-command-line-merge-tool.html)
: 将 IntelliJ IDEA 配置为用于解决版本控制冲突的默认合并工具。 使用 IDE 的差异查看器解决差异，获得更高效直观的体验。

[配置通用任务服务器](tutorial-configuring-generic-task-server.html)
: 通过通用服务器配置将 IntelliJ IDEA 连接到任务跟踪器。 直接在 IDE 中获取并显示问题详细信息，以便在管理任务时保持专注。

[使用结构化搜索与替换](tutorial-work-with-structural-search-and-replace.html)
: 使用结构搜索和替换在代码库中定位和修改模式。 了解如何定义模板、添加筛选器，并创建自定义检查，以实现更精确且可维护的重构。

[使用 Swing 构建 UI](design-gui-using-swing.html)
: 了解如何使用 UI Designer 构建基于 Swing 的图形用户接口。 创建表单、配置组件，并将布局连接到 Java 编码以构建简单的桌面应用程序。

