【问题标题】:Run goimports on save in Sublime Text?在 Sublime Text 中保存时运行 goimports?
【发布时间】:2016-04-21 21:49:38
【问题描述】:

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

【问题讨论】:

  • goimports 可能不在您的$PATH 上,或者无法执行。
  • 您能否确认您已完成following link ? 中列出的所有操作
  • 就是这样。问题是,我通过 sublime 使用 Package control > Install plugin > GoImports 安装了 GoImports,而不是通过 $ go get ... 命令。当然,哪个确实把它放在了 sublime packages 文件夹中,而不是放在我的 $PATH 上的 $GOPATH/bin 中。我会马上自己回答我的问题。

标签: go sublimetext3 gofmt


【解决方案1】:
  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:⌘. ⌘5 Windows: Ctrl+. Ctrl+5)。确保按住命令按钮 整个快捷方式序列。
  5. 使它看起来像这样: {"fmt_cmd": ["goimports"]}

Source

【讨论】:

    【解决方案2】:

    那么,我哪里出错了:

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

    我应该做的是:

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

    【讨论】:

      【解决方案3】:

      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 之后。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-05-30
        • 1970-01-01
        • 2013-12-26
        • 1970-01-01
        • 1970-01-01
        • 2017-05-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多