Code coverage
Code coverage in GoLand lets you analyze which lines of code were executed during a particular run. It helps determine the share of code covered by tests and identify areas that lack sufficient test coverage.
Run with coverage
To analyze code coverage in your project, you need to run your application in the dedicated Run with Coverage mode.
The entry points for running coverage analysis are the same as you would normally use to run an application:
For a main function or test function, click
Run in the editor gutter, then select Run with Coverage

For run configurations, click
More Actions in the Run widget, then select Run with Coverage

GoLand uses Go's built-in coverage tools to record which parts of your code run. After the run finishes, the IDE displays the coverage results for your production Go files. Test files are not included in coverage highlighting.
Coverage suites
A coverage suite is a collection of code coverage data from a specific run. Each coverage suite stores data from either a single run configuration (if it was run with coverage) or from an imported coverage data file.
GoLand stores coverage suites in the coverage folder of the IDE system directory:
%LOCALAPPDATA%\JetBrains\GoLand2026.3\coverage
~/Library/Caches/JetBrains/GoLand2026.3/coverage
~/.cache/JetBrains/GoLand2026.3/coverage
GoLand can display results from one or more coverage suites at the same time, and you can select which suites to show. If multiple suites are selected, the IDE displays their merged results: this means that a line is considered covered if it was executed in at least one of the suites.
You can select which coverage results to display, import results from a file, or remove coverage suites.
Select which coverage suites to display
The list of coverage suites becomes available after at least one run with coverage.
In the main menu, go to (Ctrl+Alt+F6).
In the Choose Coverage Suite to Display dialog that opens, select the suites you want to display results from.
If you want to hide all code coverage results, click No Coverage instead. This deselects all coverage suites and closes the dialog.

Click Show Selected.
GoLand loads the code coverage results for the selected suites.
Add and remove coverage suites
If you want to review code coverage results from a file that was generated outside GoLand (for example, by a build server or another developer), you can add the file as a separate coverage suite.
You can also remove suites from the IDE or completely delete them from disk.
In the main menu, go to (Ctrl+Alt+F6).
In the Choose Coverage Suite to Display dialog that opens, choose an action from the toolbar:
To import an external coverage file, click
Add and browse for the file.
The files with coverage data generated by GoLand are saved to the coverage folder in the IDE system directory by default.
To remove a coverage suite from the IDE but keep it on disk, select the suite and click
Remove.
To delete a coverage suite from both the IDE and the disk, select the suite and click
Delete.
Read coverage data
GoLand shows coverage results in:
Coverage tool window
Project tool window
Editor
Code coverage results are displayed in the Coverage tool window, in the Project tool window, and in the editor after you launch at least one run configuration with coverage.
Project tool window
The Project tool window displays:
the percentage of the covered classes and lines for directories
the percentage of the covered methods and lines for classes

Coverage tool window

The Coverage tool window has the following options:
Item | Description |
|---|---|
If this option is on, GoLand automatically opens the selected item in the editor. Otherwise, you need to double-click items to open them. | |
If this option is on, GoLand automatically locates in the tool window the files that you open in the editor. | |
Import a coverage suite from disk. |
Editor
The editor displays the coverage status of individual code lines. The status is indicated by color-coded markers in the gutter:
Green (
): the code line was executed.Yellow (
): the code line was executed partially. This happens when the code line contains conditional logic (such as an if/elsestatement, a loop, or aswitchstatement), but only some of its branches were run.Red (
): the code line was not executed.
To open a popup with coverage statistics for a specific line, click its coverage marker in the gutter.
Hide coverage data
Do one of the following:
Close the tab with coverage statistics in the Coverage tool window ().
Click coverage highlighting in the gutter and select Hide coverage.
Configure code coverage
Change colors of the coverage highlighting
Press Ctrl+Alt+S to open settings and then select .
Alternatively, click
in the popup that opens on clicking the coverage indication line in the gutter.
In the list of components, expand the Line Coverage node and select a type of coverage: for example, Full, Partial or Uncovered.
Click the Foreground field to open the Select Color dialog.
Select a color, apply the changes, and close the dialog.
