我用的是金银花。默认情况下,它禁用金林特。要将golint添加到默认指针中,该命令需要一个-E golint标志:
golangci-lint run -E golint在运行良好的命令行中。
但是,现在我通过将此选项添加到设置中,将golangci-lint与VSCode集成在一起:
"go.lintTool":"golangci-lint",默认指针可以正常工作,但是当我添加一个标志以启用golint时,它将停止linting,并且根本不返回任何输出。为了传递附加标志,我遵循金银衫文献并添加了go.lintFlags
"go.lintFlags": [
"--enable golint"
]请注意,我不想只运行golint,而是让所有默认指针在golangci-lint和上面使用golint。
发布于 2021-01-07 17:32:44
我发现提供golangci-lint配置要容易得多。
"go.lintTool": "golangci-lint",
"go.lintFlags": [
"-c",
"~/.dotfiles/.golangci.yml",
"--issues-exit-code=0"
],顺便说一句,您不需要启用所有默认的指针--它们已经启用了(参见参考文献)。
但是,如果您想通过settings.json运行它,您可以定义(就像linter标志那样)。例如,下一个配置
"go.lintTool": "golangci-lint",
"go.lintFlags": [
"-E", "dogsled",
"-E", "gochecknoglobals"
],应用于
package main
func s(i int) (int, int, int, int, int) {
return -1, -2, -3, -4, -5
}
func fpl() {
}
var i = 0
func main() {
_, _, _, _, _ = s(i)
}将导致:
...>Finished running tool: /Users/0_o/go/bin/golangci-lint run -E dogsled -E gochecknoglobals --print-issued-lines=false --out-format=colored-line-number --issues-exit-code=0
.../main.go:7:6 `fpl` is unused (deadcode)
.../main.go:13:2 declaration has 5 blank identifiers (dogsled)
.../main.go:10:5 `i` is a global variable (gochecknoglobals)发布于 2021-10-22 14:17:36
将.golangci.toml (或.yml或.json)添加到回购的根目录,并通过文件设置配置。如果希望该文件在所有repos中运行,也可以将该文件放在您的$HOME目录中。这比尝试在VSCode配置中键入一堆CLI标志要好得多。戈朗奇-林特会自动读取该文件,并做正确的事情。这样,如果您从命令行运行它,它将使用相同的配置。
https://stackoverflow.com/questions/65612504
复制相似问题