intellij-plugin-golangci-lint icon indicating copy to clipboard operation
intellij-plugin-golangci-lint copied to clipboard

GolangCI-Lint integration for IDEA

Publish Issues License Version #Download

Intellij/Goland Linter Inspection Plugin

Write code, write better code
All credit goes to GolangCI-Lint authors.

================================

Heads up!

In case of warning: Please make sure no syntax or config error
Please run go mod tidy to refresh deps

How to use

After the plugin installed, you will see a popup on IDEA startup, otherwise please go to settings manually:

A golangci-lint executable is required. Choose one from combobox if you already have it in your PATH, or Open... select one from disk, or Get Latest download one from Github release.

If you have your own .golangci.json|.golangci.toml|.golangci.yaml|.golangci.yml config file, the plugin will detect and use it.
Otherwise, select linters you need:

Click OK, you are all set!

Please keep in mind that golangci-lint is a linter tool, it only works if your project could build (no syntax error), or it will report no issue.

Setting Guide

  • I have a Go project as root project
    The default setting works perfectly
  • I'm using Intellij Ultimate, I have a Go project nested in sub-dir
    Select Project Root to the Go project path
  • I have multiple Go sub-projects in the root project
    Uncheck Project Root. Be aware that only the config file directly under the project root will be used.
  • I want to use a config file not under root project
    Select Using config: to the config file

WSL Guide (Windows Subsystem for Linux)

Work in Progress!

For Windows Users

Please disable goimports / gofmt / gci linters. Instead, use Goland or File-Watcher to format your code.
If you still want to use those 3 linters with the plugin, download GNU diff & GNU LibIconv and put them in system PATH (eg: C:\WINDOWS).

32fba9a (support per-project project)

Report Bug

  • Please kindly note down your platform (Win/Linux/Mac), IDEA/Goland version and Go version
  • If the plugin reports an error, please also copy-paste the error content