vscodeのGoのリンターをgolintからgolangci-lintに変更する

ファイル保存時に、vscode-goはデフォルトでgolintが実行されるようになっています。

golintはGo標準のリンターですが、定数などを実装すると説明用のコメントが強制され、従わないと下記のように警告されます。

exported const Username should have comment (or a comment on this block) or be unexportedgo-lint

私も最初はgolintにしたがってコメントを書いていたのですが、だんだん負担に思うようになったので、golangci-lintに置き換えることにしました。

golangci-lintとは

Goの静的解析ツールやリンターを統合し、実行してくれるツール。実行速度がとても速いようです。

Very fast: runs linters in parallel, reuses Go build cache and caches analysis results.

https://golangci-lint.run/

デフォルトでgovetやerrcheckなど主要なリンターが有効になっていて、golintは無効になっています。

golangci-lintのインストール

Homebrewか、install.shを実行してインストールします。

# brew
brew install golangci/tap/golangci-lint
brew upgrade golangci/tap/golangci-lint

# Linux
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b /usr/local/bin 2>&1

vscodeの設定

command + , で設定ファイルを開き、 golint、または Go: Lint Tool などの文字で検索し、指定のリンターをgolangci-lintに変更します。

変更後、ファイルを保存することでgolangci-lintが反映されたか確認します。

まとめ

これでgolintから脱出です。やったぜ!

Vimの影響でリンターやフォーマッターに少し詳しくなったのですが、あまりこういう設定に時間をかけすぎるとコードを書く時間が無くなったりもします。あまり本質を見失わないように程々にしようかと思います。