Table of Contents
Editor Integration
Go for Visual Studio Code. Recommended settings for VS Code are:
"go.lintTool":"golangci-lint","go.lintFlags": ["--fast"]Using it in an editor without
--fast
can freeze your editor. Golangci-lint automatically discovers.golangci.yml
config for edited file: you don't need to configure it in VS Code settings.Sublime Text - plugin for SublimeLinter.
GoLand
- Add File Watcher using existing
golangci-lint
template. - If your version of GoLand does not have the
golangci-lint
File Watcher template you can configure your own and use argumentsrun --disable=typecheck $FileDir$
.
- Add File Watcher using existing
GNU Emacs
Vim
- vim-go
- syntastic merged pull request with golangci-lint support
- ale merged pull request with golangci-lint support
Atom - go-plus supports golangci-lint.
Shell Completion
golangci-lint
can generate bash completion file.
macOS
There are two versions of bash-completion
, v1 and v2. V1 is for Bash 3.2 (which is the default on macOS), and v2 is for Bash 4.1+. The golangci-lint
completion script doesn’t work correctly with bash-completion v1 and Bash 3.2. It requires bash-completion v2 and Bash 4.1+. Thus, to be able to correctly use golangci-lint
completion on macOS, you have to install and use Bash 4.1+ (instructions). The following instructions assume that you use Bash 4.1+ (that is, any Bash version of 4.1 or newer).
Install bash-completion v2
:
brew install bash-completion@2echo 'export BASH_COMPLETION_COMPAT_DIR="/usr/local/etc/bash_completion.d"' >>~/.bashrcecho '[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"' >>~/.bashrcexec bash # reload and replace (if it was updated) shelltype _init_completion && echo "completion is OK" # verify that bash-completion v2 is correctly installed
Add golangci-lint
bash completion:
echo 'source <(golangci-lint completion bash)' >>~/.bashrcsource ~/.bashrc
Linux
See kubectl instructions and don't forget to replace kubectl
with golangci-lint
.
CI Integration
See our GitHub Action.
Edit this page on GitHub