Goland:如何使用自定义 modfile 而不是 go.mod?

Goland: How to use a custom modfile instead of go.mod?

我的项目包含多个 go 模块,我需要同时处理这些模块。使用 go.mod 文件中的 replace 指令可以轻松做到这一点。

此外,为了防止意外签入此更改,go 工具(从 1.14 版开始)提供了一个 -modfile 开关,让我可以将 replace 指令放在 go.local.mod 文件代替。这个超级方便。

不幸的是,我无法让 Goland 选择这个 go.local.mod 而不是 go.mod

我尝试在 Preferences -> Go -> Go Modules 下设置 GOMOD 环境变量以指向我的 go.local.mod 文件。这没有达到我的预期(即使用 go.local.mod 文件而不是 go.mod) 毫不奇怪,这不起作用,因为 GOMOD 应该是只读的(正如我在评论中指出的那样)。

现在我可以回去将替换指令放入 go.mod 文件并使用提交挂钩来防止意外签入(Goland 也有一些工具可以执行此检查)但是,它如果 Goland 可以识别 go 添加的这个新的 -modfile 开关,那将是非常方便的。我想我会要求确保我没有遗漏这里明显的东西。

谢谢!

目前2020.1.3稳定版不支持。有关此内容的未来更新,请参阅 the related issue