4

在 Sublime Text 3 中,带有插件GoSublimeGoImports已安装。

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)。

4

3 回答 3

10
  1. 确保$GOPATH/bin在您的$PATH(Windows:%GOPATH%\bin进入您的%PATH%)中。
  2. 运行go get -u golang.org/x/tools/cmd/goimports(您可能必须安装 mercurial)。
  3. 安装 Sublime Text 和 GoSublime(或者确保你已经安装了最新的更新)。
  4. 打开 GoSublime 用户config/preference文件(Mac:⌘. ⌘5Windows :) Ctrl+. Ctrl+5。确保在整个快捷方式序列中按住命令按钮。
  5. 让它看起来像这样: {"fmt_cmd": ["goimports"]}

资源

于 2016-04-22T12:34:36.223 回答
3

所以,我哪里出错了:

我使用Package control > Install package > GoImports. 将它安装在 Sublime Packages 文件夹中,该文件夹不在我的$PATH

我应该做的是:

使用命令安装它go get -u golang.org/x/tools/cmd/goimports。这会将它安装在您的$GOPATH(并且$GOPATH/bin应该在您的$PATH)中。

于 2016-04-22T12:13:07.137 回答
0

ctrl+. , ctrl+x打开margo.go文件。然后取消注释 golang.GoFmt 和 golang.GoImports 之一。重新启动 sublime text 并重试。

// golang.GoFmt,
// or
// golang.GoImports,

我使用ubuntu + sublime text 3207 + Go-1.10 + Gosublime + Goimports-release-1.10. 它适用于我取消注释 golang.GoImports 之后。

于 2019-05-07T07:28:54.620 回答