Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VSCode中启用golangci lint的详细选项_Go_Visual Studio Code_Lint - Fatal编程技术网

在VSCode中启用golangci lint的详细选项

在VSCode中启用golangci lint的详细选项,go,visual-studio-code,lint,Go,Visual Studio Code,Lint,我用的是golangci lint。默认情况下,它禁用golint linter。要将golint添加到默认过梁,命令需要一个-E golint标志: golangci-lint run -E golint 从运行正常的命令行执行。 但现在我通过将此选项添加到设置中,将golangci lint与VSCode集成在一起: "go.lintTool":"golangci-lint", 默认的linter工作正常,但是当我添加一个标志来启用golint时,

我用的是golangci lint。默认情况下,它禁用golint linter。要将golint添加到默认过梁,命令需要一个
-E golint
标志:

golangci-lint run -E golint
从运行正常的命令行执行。
但现在我通过将此选项添加到设置中,将golangci lint与VSCode集成在一起:

"go.lintTool":"golangci-lint",
默认的linter工作正常,但是当我添加一个标志来启用golint时,它停止了linting,并且根本不返回任何输出。为了传递额外的标志,我跟随并添加了
go.lintFlags

"go.lintFlags": [
  "--enable golint"
]

请注意,我不想只运行golint,而是要启用golangci lint中的所有默认linter,并在此基础上使用golint。

我发现提供
golangci lint
config更容易

"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)

这很有帮助。我添加标志的方式是不正确的。