goimports的缩进默认是8个长度单位的tab,但个人已经习惯了4个长度单位,所以对goimports进行了一下修改,使其行首缩进4格。
1、下载goimports的源码
goimports的github地址是: https://github.com/bradfitz/goimports,但是建议从Google code直接下载源码。
go get code.google.com/p/go.tools/cmd/goimports
2、修改tab相关参数
进入下载代码的目录,编辑go.tools/cmd/goimports/目录下的goimports.go,可以看到初始化代码:
func init() { flag.BoolVar(&options.AllErrors, "e", false, "report all errors (not just the first 10 on different lines)") flag.BoolVar(&options.Comments, "comments", true, "print comments") flag.IntVar(&options.TabWidth, "tabwidth", 8, "tab width") flag.BoolVar(&options.TabIndent, "tabs", ture, "indent with tabs") }
把TabWidth的长度改为4,编译之后试验一下,有可能没有变化,长度还是8,是因为tab的默认长度是8。可以把TabIndent设为false,这样缩进就是4格了,但是这样之后缩进的是4个空格,而不是一个tab了。