go - VSCode 中更严格的 Golang lint
问题描述
我在我的 Golang 项目中使用了默认 lint 设置的 VSCode,但我找不到一种方法来对我的 Go 文件进行严格的 lint,强调代码中的问题,这将使我能够严格遵守官方 Go指导方针,例如:
- 以函数名开头的函数注释,
- 在变量中仅使用骆驼大小写,
- 在包名中只使用蛇形大小写,
- ETC...
如何在 VSCode 中获得严格的 linting 行为?
解决方案
是的你可以。 staticcheck是 VSCode 的默认 go linter 。
Staticcheck 的默认配置会忽略某些规则。您可以使用自己staticcheck.conf
的checks=["all"]
条目选择重新加入所有规则。
# https://staticcheck.io/docs/configuration
# checks = ["all", "-ST1000", "-ST1003", "-ST1016", "-ST1020", "-ST1021", "-ST1022", "-ST1023"]
checks = ["all"]
initialisms = ["ACL", "API", "ASCII", "CPU", "CSS", "DNS",
"EOF", "GUID", "HTML", "HTTP", "HTTPS", "ID",
"IP", "JSON", "QPS", "RAM", "RPC", "SLA",
"SMTP", "SQL", "SSH", "TCP", "TLS", "TTL",
"UDP", "UI", "GID", "UID", "UUID", "URI",
"URL", "UTF8", "VM", "XML", "XMPP", "XSRF",
"XSS", "SIP", "RTP", "AMQP", "DB", "TS"]
dot_import_whitelist = []
http_status_code_whitelist = ["200", "400", "404", "500"]
推荐阅读
- excel - Excel 2010:如何公式计算包含合并单元格的范围内的单元格总数?
- bash - 如何创建一个菜单来执行一些带有选择循环的 bash 脚本?
- c# - 在单个 webapi 控制器中使用多个数据库
- javascript - 有没有一种简单的方法来触发表单验证 onSubmit 而不是使用 bootstrap 和 Vue.Js 的 onLoad?
- unity3d - Unity Gameobject 离移动工具很远
- mysql - 如何使用附加表通过参数从基础获取项目?
- angular - 使用 Angular 6 无限循环动画
- sql-server - 加入构建临时表的 TVF 比直接子句快得多。为什么是这样?
- php - 我无法更改配置文件 (php.ini) 路径
- python - 有条件地填充 Pandas 数据框中的空白值