是否在保存为升华文本时运行goimports?
在升华文本3中,安装了插件是否在保存为升华文本时运行goimports?,go,sublimetext3,gofmt,Go,Sublimetext3,Gofmt,在升华文本3中,安装了插件gopublime和GoImports 每次保存时,我都无法在文件上自动运行goimports 以下是我尝试过的: 我的GoSublime设置设置为: { "env": {"GOPATH": "/home/nicolas/.go", "PATH": "$GOPATH/bin:$PATH" }, //"fmt_cmd": ["goimports"] } 使用这些设置保存时,代码会格式化,但不会添加导入。到目前为止没有什么令人惊讶的 如果我按ctrl+sh
gopublime
和GoImports
每次保存时,我都无法在文件上自动运行goimports
以下是我尝试过的:
我的GoSublime设置设置为:
{
"env": {"GOPATH": "/home/nicolas/.go", "PATH": "$GOPATH/bin:$PATH" },
//"fmt_cmd": ["goimports"]
}
使用这些设置保存时,代码会格式化,但不会添加导入。到目前为止没有什么令人惊讶的
如果我按ctrl+shift+p,然后按GoImports,导入将按预期添加
现在我的问题是,当我取消注释上一行以进行以下设置时:
{
"env": {"GOPATH": "/home/nicolas/.go", "PATH": "$GOPATH/bin:$PATH" },
"fmt_cmd": ["goimports"]
}
它不仅不添加导入,而且不再进行其他格式设置
知道我哪里出错了吗
我正在使用Linux(Ubuntu)。所以,我错在哪里: 我使用
Package control>Install Package>GoImports
从Sublime内部安装了GoImports。它安装在Sublime Packages文件夹中,该文件夹不在我的$PATH
我应该做的是:
使用命令go-get-u golang.org/x/tools/cmd/goimports
安装它。这将在$GOPATH中安装它(并且$GOPATH/bin应该在$PATH中)
{“fmt_cmd”:[“goimports”]}
ctrl+,ctrl+x
打开margo.go
文件。
然后取消对golang.GoFmt和golang.GoImports之一的注释。重新启动升华文本,然后重试
// golang.GoFmt,
// or
// golang.GoImports,
我使用的是
ubuntu+sublime text 3207+Go-1.10+gopublime+Goimports-release-1.10
。在我取消注释golang.GoImports之后,它可以工作。GoImports
可能不在您的$PATH
上,或者不可执行。您是否可以验证是否已完成了列表中列出的所有操作。问题是,我使用Package control>Install plugin>GoImports
通过sublime安装了GoImports,而不是通过$go get代码>命令。当然,它确实把它放在了sublime packages文件夹中,而不是$GOPATH/bin,它在我的$PATH上。我会马上回答我的问题。