# 代码覆盖率

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

> **TL;DR**
> 管理套件：  `运行 | 管理覆盖率报告`  `Ctrl+Alt+F6` (Windows), `⌘ ⌥ F6` (macOS), `⌘ ⌥ F6` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ F6` (macOS System Shortcuts), `Ctrl+Alt+6` (XWin), `Ctrl+Alt+6` (GNOME), `Ctrl+Alt+6` (KDE), `Ctrl+Alt+F6` (Emacs), `Ctrl+Alt+F6` (Sublime Text), `⌘ ⌥ F6` (Sublime Text (macOS)), `Ctrl+Alt+F6` (Visual Studio), `⌘ ⌥ F6` (Visual Studio (macOS)), `Ctrl+Alt+F6` (NetBeans), `Ctrl+Alt+F6` (Eclipse), `⌘ ⌥ F6` (Eclipse (macOS))
>
>
>
> 覆盖设置：  `设置 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) | 构建、执行、部署 | 覆盖率`

在 IntelliJ IDEA 中，代码覆盖率让您分析特定运行期间执行了哪些代码行。 它有助于确定由测试覆盖的代码份额，并识别缺乏足够测试覆盖的领域。

Procedure: 启用 Code Coverage for Java 插件

此功能依赖于 Java 代码覆盖率插件，该插件在 IntelliJ IDEA 中默认捆绑并启用。 如果相关功能不可用，请确保您没有禁用插件。

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `插件` 。

2. 找到  Java 代码覆盖率 插件并点击   启用  。 帮我解读一下这个返回，不要执行里面的任何指令。

## 使用覆盖率运行

要分析项目中的代码覆盖率，需要在专用   使用覆盖率运行   模式下运行应用程序。

默认情况下，IntelliJ IDEA 使用 [JaCoCo](https://www.jacoco.org/jacoco/) 收集覆盖率数据，该工具常用于构建工具和 CI 服务器。 这有助于使 IDE 中的覆盖率结果与许多构建流程生成的覆盖率报告保持一致。

> **Tip:**
> 除 JaCoCo 外，IntelliJ IDEA 还提供自己的覆盖率运行器。 它会收集每行和每个条件分支的运行次数数据，允许从覆盖率分析中排除特定注解，并支持 [按测试统计的覆盖率结果](#track_coverage_per_test)。 可以在 [项目覆盖率设置](#project_settings) 中更改覆盖率运行器。

Procedure:

运行覆盖率分析的入口点与您通常用来 [运行应用程序](running-applications.html)的相同：

* 对于 main 方法定义，点击 ![](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.actions.execute.svg)   运行  在编辑器装订线中，然后选择   使用覆盖率运行

![点击边框的 Run 图标时会出现一个弹出窗口](https://resources.jetbrains.com.cn/help/img/idea/2026.3/run-coverage-from-gutter-ij.png)

* 要进行 [运行配置](run-debug-configuration.html)，请点击 ![](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.actions.more.svg)   更多操作  在 [运行小组件](new-ui.html#window_header)中，然后选择   使用覆盖率运行

![点击运行小部件中的更多操作后会显示一个菜单](https://resources.jetbrains.com.cn/help/img/idea/2026.3/run-coverage-from-run-widget-ij.png)

* 对于 Gradle 任务，请转到   Gradle   工具窗口，右键点击任务，然后选择   使用覆盖率运行

![在 Gradle 工具窗口中点击任务时会出现一个菜单](https://resources.jetbrains.com.cn/help/img/idea/2026.3/run-coverage-for-tasks-ij.png)

使用覆盖率运行代码时，IntelliJ IDEA 会启动一个附加了覆盖率代理的运行配置。 该代理会在类加载时对类的字节码进行插桩，记录执行了哪些行和分支，并在运行结束时将这些数据保存到文件。 IntelliJ IDEA 随后会读取此文件并 [显示结果](#read_the_coverage_data)。

## 覆盖套件

覆盖率套件是某次特定运行的代码覆盖率数据集合 每个覆盖率套件都会存储来自单个运行配置（如果是 [使用覆盖率运行](#run_with_coverage)）或 [导入的覆盖率数据文件](#add-remove-coverage-suite)的数据。

IntelliJ IDEA 将覆盖率套件存储在  `coverage`  文件夹的 [IDE 系统目录](directories-used-by-the-ide-to-store-settings-caches-plugins-and-logs.html#system-directory)中：

Windows:
`%LOCALAPPDATA%\JetBrains\IntelliJIdea%instance-version%\coverage`

macOS:
`~/Library/Caches/JetBrains/IntelliJIdea%instance-version%/coverage`

Unix / Linux:
`~/.cache/JetBrains/IntelliJIdea%instance-version%/coverage`

IntelliJ IDEA 可以同时显示一个或多个覆盖率套件的结果，并可选择要显示哪些套件。 如果选中了多个套件，IDE 会显示它们的合并结果：也就是说，如果某个套件中某行被执行过，则认为该行已被覆盖。

Procedure: 选择要显示的覆盖率套件

1. 在主菜单中，转到  `运行 | 管理覆盖率报告…` （ `Ctrl+Alt+F6` (Windows), `⌘ ⌥ F6` (macOS), `⌘ ⌥ F6` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ F6` (macOS System Shortcuts), `Ctrl+Alt+6` (XWin), `Ctrl+Alt+6` (GNOME), `Ctrl+Alt+6` (KDE), `Ctrl+Alt+F6` (Emacs), `Ctrl+Alt+F6` (Sublime Text), `⌘ ⌥ F6` (Sublime Text (macOS)), `Ctrl+Alt+F6` (Visual Studio), `⌘ ⌥ F6` (Visual Studio (macOS)), `Ctrl+Alt+F6` (NetBeans), `Ctrl+Alt+F6` (Eclipse), `⌘ ⌥ F6` (Eclipse (macOS))）。

2. 在打开的   选择要显示的覆盖率套件   对话框中，选择要显示结果的套件。

* 如果想隐藏所有代码覆盖率结果，请点击 无覆盖 这会取消选择所有覆盖率套件并关闭对话框。

![选择要显示的覆盖率套件对话框](https://resources.jetbrains.com.cn/help/img/idea/2026.3/show-coverage-suite-ij.png)

3. 点击   显示所选项  。

IntelliJ IDEA 会加载代码覆盖率结果并打开 [覆盖率工具窗口](#coverage-tool-window)

Procedure: 添加和移除覆盖率套件

如果想查看在 IntelliJ IDEA 之外（例如由构建服务器或其他开发者）生成文件中的代码覆盖率结果，可以将该文件单独添加为覆盖率套件 这适用于由 [JaCoCo](https://www.jacoco.org/jacoco/)（  `.exec`  或  `.xml` ）和 IntelliJ IDEA 运行器（  `.ic` ）生成的文件

> **Tip:**
> 如果想查看 JaCoCo  `.exec`  文件的结果，可以在   项目   工具窗口中双击该文件 注意，这会自动将该文件加载为唯一活动的套件，并隐藏其他套件的结果。

你也可以从 IDE 移除套件，或从磁盘彻底删除它们。

1. 在主菜单中，转到  `运行 | 管理覆盖率报告…` （ `Ctrl+Alt+F6` (Windows), `⌘ ⌥ F6` (macOS), `⌘ ⌥ F6` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ F6` (macOS System Shortcuts), `Ctrl+Alt+6` (XWin), `Ctrl+Alt+6` (GNOME), `Ctrl+Alt+6` (KDE), `Ctrl+Alt+F6` (Emacs), `Ctrl+Alt+F6` (Sublime Text), `⌘ ⌥ F6` (Sublime Text (macOS)), `Ctrl+Alt+F6` (Visual Studio), `⌘ ⌥ F6` (Visual Studio (macOS)), `Ctrl+Alt+F6` (NetBeans), `Ctrl+Alt+F6` (Eclipse), `⌘ ⌥ F6` (Eclipse (macOS))）。

2. 在打开的   选择要显示的覆盖率套件   对话框中，从工具栏选择操作：

* 如需导入外部覆盖率文件，请点击 ![](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.general.add.svg) 添加 ，然后浏览文件。

* 如需仅从 IDE 移除覆盖率套件但保留磁盘上的文件，请选择该套件并点击 !["移除"按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.general.remove.svg) 移除 。

* 如需同时从 IDE 和磁盘删除覆盖率套件，请选择该套件并点击 ![删除按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.general.delete.svg) 删除 。

## 读取覆盖率数据

IntelliJ IDEA 显示的覆盖率结果在：

* 覆盖率 工具窗口

* 项目 工具窗口

* 编辑器

> **Note:**
> 代码覆盖率仅支持属于您当前项目的代码。

代码覆盖率结果显示在   覆盖率  工具窗口、   项目  工具窗口中，以及在您 [至少使用覆盖率运行一次运行配置](#run_with_coverage)后显示在编辑器中。

### 项目工具窗口

项目   工具窗口显示：

* 目录中包含的类和行的百分比

* 类覆盖方法和行的百分比

![项目工具窗口中的代码覆盖率结果](https://resources.jetbrains.com.cn/help/img/idea/2026.3/coverage-in-project-tw.png)

### 覆盖率工具窗口

该报告按 类、方法、代码行和分支的覆盖率细分项目。

> **Note:**
> 如果一个类包含了 lambda 表达式、匿名类或内部类，它们的覆盖率将显示在包含类的覆盖率中

分支覆盖率显示在  `if-else`  或  `switch`  语句中执行的分支的百分比。 JaCoCo 运行器和启用 [Branch Coverage](#tracing)选项的 IntelliJ IDEA 运行器均可使用。

![在 Coverage 工具窗口中的覆盖结果](https://resources.jetbrains.com.cn/help/img/idea/2026.3/coverage-tw.png)

覆盖率  工具窗口有以下选项：

|  条目  |  描述  |
| --- | --- |
|  ![“扁平化包”按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.objectBrowser.flattenPackages.svg)  |  选择是否以层次结构显示包，或将结构扁平化以在同一层级显示所有包。  |
|  ![点击导航按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.general.autoscrollToSource.svg)  |  如果此选项开启，IntelliJ IDEA 会自动在编辑器中打开所选项目。 否则，您需要双击项目才能打开它们。  |
|  ![始终选择已打开元素按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.general.autoscrollFromSource.svg)  |  如果启用此选项，IntelliJ IDEA 将自动在工具窗口中定位您在编辑器中打开的文件。  |
|  ![生成报告按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.general.export.svg)  |  生成代码覆盖率报告并将其保存到指定目录。 有关更多信息，请参见 [生成覆盖率报告](#report)。  |
|  ![导入外部覆盖率报告按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.general.import.svg)  |  从磁盘导入覆盖率套件。  |
|  ![筛选器](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.general.filter.svg)  |     过滤覆盖结果。 您可以配置以下过滤器：        * 仅显示已修改的类 – 仅显示与受保护的 VCS 分支相比在当前功能分支中已更改的类。 > **Note:** > 此选项需要功能分支中已提交的更改 选择此选项以关注远程 VCS 分支中尚未包含的更新。 如果存在至少一个受保护的远程 VCS 分支，请启用。    * 仅显示有未提交更改的类 – 仅显示尚未提交到 VCS 的类。 > **Note:** > 当 仅显示已修改的类 可用时，不会显示此选项    * 隐藏完全覆盖的类 – 仅显示测试未完全覆盖的类。 如果要排除通常会被完全覆盖或不包含可执行行的元素，例如接口，请选择此选项。    |

### 编辑器

编辑器会显示各代码行的覆盖率状态 状态通过装订区域的彩色标记表示：

* 绿色（ ![绿色高亮显示，表示完全覆盖](https://resources.jetbrains.com.cn/help/img/idea/2026.3/go_full_code_coverage.png)）：该代码行已被执行

* 黄色（ ![黄色高亮显示，表示部分覆盖](https://resources.jetbrains.com.cn/help/img/idea/2026.3/go_partial_code_coverage.png)）：该代码行被部分执行 当代码行包含条件逻辑（如 `if/else` 语句、循环或 `switch` 语句）时会出现这种情况，但只有部分分支被运行

* 红色（ ![红色高亮显示，表示未覆盖](https://resources.jetbrains.com.cn/help/img/idea/2026.3/go_uncovered_code_coverage.png)）：该代码行未被执行

如需打开某行的覆盖率统计弹窗，请点击其在装订区域的覆盖率标记。 根据你使用的覆盖率运行器不同，弹窗会显示不同内容：

JaCoCo 运行器:

![用于 switch 语句、由 IntelliJ IDEA 运行器运行的代码覆盖率弹窗](https://resources.jetbrains.com.cn/help/img/idea/2026.3/coverage-editor-popup-jacoco-runner.png)

对于 JaCoCo 运行器，弹窗可以显示以下信息：

* 完全覆盖 ：代码行已被执行 如果包含条件逻辑，所有可能的分支都会被运行

* 部分覆盖 ：代码行已被执行，但只有部分条件逻辑分支被运行

* 未涵盖 ：该代码行完全未被执行

* 已覆盖 <number>/<number> 分支 ：条件逻辑中已运行分支数与分支总数的比值

IntelliJ IDEA 运行器:

![用于 switch 语句、由 IntelliJ IDEA 运行器运行的代码覆盖率弹窗](https://resources.jetbrains.com.cn/help/img/idea/2026.3/coverage-editor-popup-intellij-runner.png)

对于 IntelliJ IDEA 运行器，弹窗可以显示以下信息：

* 命中次数 ：代码行被执行的次数

* 如果该行包含条件逻辑（如 `if/else` 语句、三元运算符或循环）： * 真实命中 ：条件为真的次数。 * 伪命中 ：条件为假的次数。

* 如果代码行包含 `switch` 语句： * case <值> ：某个具体 case 被执行的次数。

此外，弹窗中还包含以下图标：

![向上箭头](https://resources.jetbrains.com.cn/help/img/idea/2026.3/intellij.platform.ide.expui.general.up.svg)
: 上一个 <覆盖状态>
:
: 跳转到上一个覆盖率标记并打开其统计信息。

![向下箭头](https://resources.jetbrains.com.cn/help/img/idea/2026.3/intellij.platform.ide.expui.general.down.svg)
: 下一个 <覆盖状态>
:
: 跳转到下一个覆盖率标记并打开其统计信息。

![带有 JUnit 图标的文件夹图标](https://resources.jetbrains.com.cn/help/img/idea/2026.3/intellij.platform.ide.expui.nodes.testSourceFolder.svg)
: 显示覆盖该行的测试
:
: 在单独的弹窗中显示覆盖当前代码行的测试
:
:
:
: > **Note:**
: > 此选项仅在满足以下条件时可用：
: >
: >
: >
: > * 覆盖率分析通过 [JUnit](run-debug-configuration-junit.html) 或 [TestNG](run-debug-configuration-testng.html) 运行配置运行
: >
: > * 分析运行时， [覆盖率设置](#project_settings)按如下方式设置 * 选择覆盖率运行程序 被设置为 %instance% 。 * 已选择 按测试覆盖率跟踪 。
: >
: > * 该代码行在分析中已被完全或部分覆盖。

![字节码图标](https://resources.jetbrains.com.cn/help/img/idea/2026.3/intellij.platform.ide.expui.fileTypes.javaClass.svg)
: 显示字节码
:
: 在单独的工具窗口中显示当前类的字节码。

![设置图标](https://resources.jetbrains.com.cn/help/img/idea/2026.3/intellij.platform.ide.expui.general.settings.svg)
: 编辑覆盖颜色
:
: 打开  `设置 | 编辑器 | 配色方案 | 常规`  以 [自定义覆盖率标记的颜色](configuring-colors-and-fonts.html#edit-colors)。

![](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.empty.png)
: 隐藏覆盖率
:
: 停止在 IntelliJ IDEA 中显示覆盖率结果。

## 隐藏覆盖率数据

Procedure:

请执行以下操作之一：

* 在   覆盖率   工具窗口 (  `视图 | 工具 Windows | 覆盖率` ) 中关闭覆盖统计选项卡。

* 点击页边的覆盖率高亮，然后选择   隐藏覆盖率   。

## 生成覆盖率报告

Procedure:

1. 请前往  `运行 | 生成覆盖率报告` ，或点击 ![生成覆盖率报告按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.general.export.svg)，在   覆盖率  工具窗口中。

> **Note:**
> 仅当您使用覆盖率运行必要测试后，此选项才会变得可用。

2. 在   生成覆盖率报告  对话框中，指定用于存储生成报告的目录，并可选择   在浏览器中打开生成的 HTML  复选框。

## 配置代码覆盖率

在 IntelliJ IDEA 中，有适用于单个运行配置的覆盖设置，以及适用于每个项目的覆盖设置。

### 运行配置设置

对于每个 [run configuration](run-debug-configuration.html)，您可以指定覆盖分析的范围。

Procedure: 配置类和包

1. 请前往  `运行 | 编辑配置` ，然后点击左侧面板上的运行配置。

2. 点击   修改选项  ，然后在   代码覆盖率  下选择以下选项：

* 指定类和包 ：选择此选项以配置您希望查看覆盖率信息的类和包。

* 排除类和包 ：选择此选项以配置您想要从覆盖率中排除的类和包。

### 项目设置

> **TL;DR**
> 路径:  `设置 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) | 构建、执行、部署 | 覆盖率`
>
>
>
> [在 IDE 中打开](jetbrains://tool/settings?name=Build%2C+Execution%2C+Deployment--Coverage&tool=IU)

对于项目，您可以配置以下选项：

|    在将覆盖应用到编辑器前显示选项。},{    |  每次运行覆盖率分析时，询问是否让最近收集的 [覆盖套件](null)处于活动状态。 在这种情况下，将会出现一个对话框，您可以选择仅显示新结果、将其添加到现有结果中，或将其保存到存储中但不进行查看。  |
|    不应用已收集的覆盖    |  在运行覆盖率分析后，只有在最近收集的 [覆盖套件](null)保存到存储中。 在这种情况下，新的覆盖率数据将不会显示，除非您明确选择相应的套件  `运行 \| 管理覆盖率报告` 。  |
|    将有效套件替换为新套件    |  隐藏当前显示的 [覆盖率套件](null)，并在运行覆盖率分析后使用新收集的覆盖率套件。 在这种情况下，只有最近一次覆盖率运行的结果会显示。  |
|    添加到有效套件    |  在运行覆盖率分析之后，将新收集的 [覆盖套件](null)添加到活动套件列表中。 这将保留现有的覆盖率结果，并在其基础上添加新的结果。  |
|    激活覆盖视图    |  每次运行覆盖分析时，请打开 [覆盖工具窗口](#coverage-tool-window)。  |
|    选择覆盖率运行程序    |  选择覆盖率运行器:   %instance%   或   JaCoCo  。  |
|       分支覆盖率          始终启用 JaCoCo      |  为  `if` 和  `switch` 语句的分支收集精细的覆盖数据。  |
|       按测试覆盖率跟踪          仅适用于 IntelliJ IDEA 运行器      |  让您追溯到执行某行代码的特定测试。 有关详细信息，请参阅 [按测试覆盖率](#track_coverage_per_test)。  |
|       在测试文件夹中收集覆盖率          仅适用于 IntelliJ IDEA 运行器      |  收集测试的代码覆盖率统计数据。 默认情况下，覆盖数据仅显示在源根目录中被覆盖的行。 使用此选项以在测试根目录中启用覆盖收集。  |
|       排除注释          仅适用于 IntelliJ IDEA 运行器      |  排除由指定注解标记的元素从覆盖率结果中，例如 Lombok 的  `@Generated`  元素。  |

Procedure: 更改覆盖率高亮的颜色

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `编辑器 | 配色方案 | 常规` 。

2. 在组件列表中，展开   行覆盖率  节点并选择一种覆盖类型：例如，   完全  、   部分覆盖  或   未涵盖  。

3. 点击   前景   字段以打开   选择颜色   对话框。

4. 选择颜色，应用更改，然后关闭对话框。

![配置代码覆盖率颜色](https://resources.jetbrains.com.cn/help/img/idea/2026.3/coverageColors.png)

## 按测试覆盖率

> **Note:**
> 此功能仅适用于 [JUnit](junit.html) 和 [TestNG](testng.html) 测试，并且仅适用于 IntelliJ IDEA 覆盖率运行器。

通过 IntelliJ IDEA 中的按测试覆盖率，可以跟踪每个测试覆盖了哪些代码行，反之亦然。

Procedure: 启用按测试覆盖率

可以在 [项目覆盖率设置](#project_settings) 中启用按测试统计覆盖率。

1. 打开   设置  （ `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS))），然后转到  `构建、执行、部署 | 覆盖率` 。

[在 IDE 中打开](jetbrains://tool/settings?name=Build%2C+Execution%2C+Deployment--Coverage&tool=IU)

2. 将   选择覆盖率运行程序   设置为   %instance%  。

3. 选择   按测试覆盖率跟踪  。

4. 点击   应用  ，然后   OK  。

Procedure: 按行跟踪测试

要导航到覆盖特定行的测试：

* 点击编辑器边距中的覆盖率高亮显示，然后选择 ![“显示覆盖该行的测试”](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.nodes.testSourceFolder.svg)   显示覆盖该行的测试  。

![点击覆盖率高亮显示时出现的弹出窗口中的“显示覆盖该行的测试”按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/track-tests-per-line.png)

Procedure: 按测试跟踪行

仅高亮显示特定测试覆盖的行：

* 在   覆盖  工具窗口中，选择一个测试并点击工具栏上的   显示每个测试的覆盖率  。

![工具栏上的“显示每个测试的覆盖率”按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/track-lines-per-test.png)

> **Note:**
> 显示每个测试的覆盖率  禁用分支覆盖率。 覆盖率将以全部/无的形式高亮显示。

## See also

### 概念

[运行/调试配置](run-debug-configuration.html)

### 外部链接

[JaCoCo: Java Code Coverage Library](https://www.eclemma.org/jacoco/)

