【问题标题】:Running 'goimports' on save in GoLand在 GoLand 中保存时运行“goimports”
【发布时间】:2017-08-09 12:06:34
【问题描述】:

我正在使用 GoLand IDE 在 Go 中编写代码。 当我保存文件时,我希望未使用的导入消失(如 VS 代码)

我在“代码”->“显示重新格式化文件对话框”中启用了“优化导入”。但是当我保存文件时,导入它仍然存在

【问题讨论】:

    标签: go goland


    【解决方案1】:

    自 2021.3 版起

    添加到默认启用的文件观察器的两个单独条目。一种用于在保存时格式化代码,一种用于在保存时优化导入:

    可以在 Go 的代码样式设置中进一步定义导入的排序、分组等方式:

    在 Go 的代码样式设置的 Other 选项卡中,还有另一个小选项可以在重新格式化时运行 gofmt

    2021.3 版之前

    保存时设置gofmtgoimports 的设置位于文件观察器中。在这里您可以在底部添加一个新的文件观察器,然后从列表中选择gofmtgoimports

    将此设置为goimports 将同时进行:

    • 代码格式化 (gofmt)
    • 更新、排序和分组导入

    【讨论】:

    • 嗨,我已经看到了该选项,但我已将其设置为“go ftm”以格式化代码。不幸的是,它在“保存”期间只能执行一项操作
    • 这真的不可能使用,因为 Goland 不断保存我正在编辑的源文件我一直在有效地与goimports 战斗:如果我打字不够快(我的意思是真的很快)goimports 将在我输入时删除代码......
    • Goland 不应在您输入时自动保存。或者也许你改变了那个设置?我认为默认设置是:15 秒不活动后自动保存。但我有时也有这个问题。不过最近没看到。也许我的新笔记本太快了。
    • 如果你使用 IntelliJ IDEA 和 Go 插件,你必须安装 File Watchers 插件
    【解决方案2】:

    对于那些在 Goland 自动保存上与 gofmt 战斗的人(mat007 评论)

    您可以双击文件观察器中的项目以显示编辑观察器菜单。

    取消选中自动保存编辑的文件以触发观察程序,它现在应该只在手动保存时触发:

    (戈兰2020.3)

    【讨论】:

      【解决方案3】:

      “保存时”标签已在 GogLand EAP 16 中删除。

      在较新的版本中,您必须转到 Settings -> Tools -> File Watchers 并在此处添加 goimports

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-24
        • 1970-01-01
        • 2021-10-06
        相关资源
        最近更新 更多