golangci-lint安装与Goland集成
golangci-lint安装与Goland集成
- 1.golangci-lint概述
- 2.golangci-lint安装
- 3.Goland 中集成 golangci-lint
- 4.golangci-lint 的使用
- 5.排除代码检查
1.golangci-lint概述
golangci-lint是用于go语言的代码静态检查工具集
官网地址:golangci-lint
特性:
- 快速:并行非执行 linters,可以复用 Go构建cache和caches分析结果
- 配置文件基于yaml语法进行配置
- 可以与常见开发工具集成,例如:VS Code、Sublime、Goland、Emacs、Vim、Atom、Github Actions
- 包含了很多 linters,不需要安装
- 执行结果输出带有美观,不仅带有颜色,还有源码行号和标识
- 尽可能的减少误报,可以通过设置忽略某些模式
2.golangci-lint安装
macos:
brew install golangci-lint
brew upgrade golangci-lint
linux/windows:
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.46.2
安装完成后,进行验证:
golangci-lint --version
3.Goland 中集成 golangci-lint
1、安装插件
2、工具 - File Watcher - 添加golangci-lint
3、作用域改为所有位置,应用确认
这样在goland每次保存就会自动触发检查了
4.golangci-lint 的使用
在项目根路径下面执行 golangci-lint run
就可以检查整个项目的代码
没有配置文件时,golangci-lint 使用默认的代码检查器进行检查
# 查看默认启用和关闭了哪些检查器
golangci-lint help linters
5.排除代码检查
通过注释可以跳过代码检查,使用方式如下:
var bad_name int //nolint
var bad_name int //nolint:golint,unused
//nolint
func allIssuesInThisFunctionAreExcluded() *string {
// ...
}
//nolint:govet
var (
a int
b int
)
或者忽略对整个文件进行检查:
//nolint:unparam
package pkg