使用同一模块的多个版本时 GoLand 包索引中断

问题描述

我需要在我正在处理的项目中同时使用 google.golang.org/api/compute api 的 v1 和 alpha 版本。在已经使用 v1 版本处理了相当多的代码之后,我需要使用 alpha 版本,我需要同时使用两个版本。

当我导入 alpha 版本时,GoLand 索引中断,我失去了自动完成功能,并在导入 alpha 的包中出现了一堆红色文本/行。尽管如此,go 仍然可以很好地构建/运行代码

我已尝试清除 GoLand 缓存并重新编制索引,但仍然遇到相同的问题。我还使用 go clean -modcachego mod tidy 清理了我的 go 缓存,以便再次下载和校验所有内容

是不是我遗漏了什么会使 GoLand 出现问题,但我的 Go 代码仍然可以正常构建和运行?

解决方法

您可以通过在导入语句上按 Command/CTRL+Click 来导航到包源并找到 compute-gen.go 文件和大小限制警告。 IDE 的行为符合预期。

作为一种解决方法,您可以调用 Help | Edit Custome Properties... 并添加以下行 idea.max.intellisense.filesize=8500000,重新启动 GoLand。但请记住,IDE 在处理大文件时可能会很慢,即使它们没有在编辑器中打开。

您可以阅读有关 idea.properties 文件 here 的更多信息。