登录
首页 >  Golang >  Go问答

如何使用 GolangCI 删除未使用的导入

来源:stackoverflow

时间:2024-02-12 14:06:23 213浏览 收藏

Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《如何使用 GolangCI 删除未使用的导入》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!


问题内容

我使用 makefile 在 golangci 工具中启用了 goimports,它能够发现未使用的导入,但不会自动删除它们。如何让我的 golangci 工具自动删除未使用的导入?

下面是我的 golangci linting 的 makefile 命令,我使用 --fix 标签:

##@ linting
lint:
    @echo "lint via golangci-lint in " $(output_dir)/src
    docker run --rm -v $(pwd):/local \
        -w /local golangci/golangci-lint:latest \
        golangci-lint run --fix --config .golangci.yaml $(output_dir)/src/*.go

下面是我的 golangci.yaml 文件,我将 remove-unused 设置为 true :

run:
  timeout: 5m
  modules-download-mode: readonly

linters:
  enable:
    - errcheck
    - goimports
    - revive
    - govet
    - staticcheck

  # Configuration for the goimports linter
  goimports:
    # Set to true to remove unused imports automatically
    remove-unused: true

  # Configuration for the revive linter
  revive:
    # Add any custom rules you want to use
    rules:
      - id: 'import-shadowing'
        severity: warning
        match: '\bimport\s+\.\s+\S+'
        message: 'Importing packages using dot notation (.) is discouraged.'

issues:
  exclude-use-default: false
  max-issues-per-linter: 0
  max-same-issues: 0

正确答案


我不确定 golangci-lint 是否可以进行就地修复。

删除未使用的导入的最简单方法是使用 goimports 工具。

$ go install golang.org/x/tools/cmd/goimports@latest

使用“-w”选项调用它以直接就地修复导入,例如

$ goimports -w sourcefile.go

今天关于《如何使用 GolangCI 删除未使用的导入》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>