首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >goimports需要忽略供应商包

goimports需要忽略供应商包
EN

Stack Overflow用户
提问于 2017-11-28 10:45:47
回答 3查看 4.4K关注 0票数 5

我正试图在我的项目中实现dep。这一切都很好,但它也添加了一个供应商目录。我现在需要更新我的工具,以忽略这个目录,否则我的销售包将被修改,否则我会得到错误的警告。我目前正在使用以下工具:

  • goimports -w
  • 去兽医
  • 去皮棉

这些工具也在CI中使用。我确实想保持自动格式化使用goimports,但我愿意开始使用金工。我并不是真正地寻找一个解决方案使用grep和找到魔术。

如何使这些工具忽略vendor/

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-11-28 12:33:32

金工有一个“-卖主”标志来忽略供应商文件夹。该标志将所需参数传递给基础工具,以忽略该文件夹。

因此,一种解决方案是只使用govet,golint和goimport与gometalinter。

代码语言:javascript
复制
gometalinter --disable-all --enable=vet --enable=golint --enable=goimports --vendor ./...

另一种解决方案可能(从要旨复制):

代码语言:javascript
复制
goimports -d $(find . -type f -name '*.go' -not -path "./vendor/*")

我更喜欢第一个解决方案。这样,您就可以根据需要轻松地添加其他指针。

票数 10
EN

Stack Overflow用户

发布于 2017-11-28 13:07:24

为了避免扫描$GOPATH中的目录以查找Go文件,goimports在$GOPATH/src/.goimports上有一个配置文件,其中可能包含空行、注释行(以‘#’开头),或者在扫描时指定相对于配置文件的目录命名行。不允许全球化或正则化模式。使用"-v“详细标志来验证它是否有效,并查看goimport正在做什么。

https://godoc.org/golang.org/x/tools/cmd/goimports

因此,您可以将供应商dir添加到$GOPATH/src/.goimportsignore文件中,例如:

代码语言:javascript
复制
github.com/foo/bar/vendor
票数 0
EN

Stack Overflow用户

发布于 2022-08-27 09:52:44

另一个狡猾但行之有效的解决方案就是这样运作的:

代码语言:javascript
复制
for item in `find . -type f -name '*.go' -not -path './vendor/*'`
do
    goimports -l -w $item
done

如果你喜欢单线的话:

代码语言:javascript
复制
for item in `find . -type f -name '*.go' -not -path './vendor/*'`; do goimports -l -w $item; done
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47529611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档