我正在我的Go项目中设置linting。我有一个由该 VSCode 生成的文件,它在“问题”选项卡下列出了以下内容:golangci-lintgo-bindataassets/assets.go:来自数组、切片或映射复合文字的冗余类型(simplifycompositelit)我似乎无法摆脱它。这不是编译器错误,我会不时地重新运行,所以我不想养成修改生成的代码的习惯。go-bindata现在,使用下面的配置,我无法使 VSCode 停止报告此错误。如果我在工作区的根目录中运行,则不会获得任何输出。如果需要,我可以提供我的 linting 配置,但 VSCode 似乎正在运行其他内容。如何确定报告此错误的内容,以及如何使其停止报告此工作区中文件的任何内容?golangci-lint run ./...assets/assets.go以下是与 Go 相关的 vscode 设置:{ "go.formatTool": "gofmt", "go.lintTool": "golangci-lint", "go.liveErrors": { "enabled": true, "delay": 500 }, "go.lintOnSave": "workspace", "editor.codeActionsOnSave": { "source.organizeImports": true }, "go.useLanguageServer": true, "go.languageServerExperimentalFeatures": { "diagnostics": true, "documentLink": true },}这是有问题的行,即使有一个nolint注释,以表明它的行为不符合预期。如果是 golangci-lint 输出此内容,则 nolint 将阻止显示警告。我重新加载了窗口并关闭/重新打开了vscode,以确保注意到更改。
1 回答
陪伴而非守候
TA贡献1757条经验 获得超8个赞
在本地复制后,此消息似乎来自 ,因为禁用会使消息静音。Go问题跟踪器上有几个相关的投诉/问题:gopls
gopls
两者都没有提供实际的解决方案。
但是,存储库上的此问题提供了一个解决方法。在 VSCode 配置中,添加值为 :vscode-go
gopls.analyses.simplifycompositelit
false
"gopls": { "analyses": { "simplifycompositelit": false }, }
当然,这会为所有项目禁用它,而不仅仅是生成的文件,但是如果您还使用 ,则可以将其配置为捕获相同类型的错误,并且可以在更精细的基础上进行配置,这样您就不会错过非生成代码中的相同类别的错误。golangci-lint
- 1 回答
- 0 关注
- 115 浏览
添加回答
举报
0/150
提交
取消