猿问

在 IntelliJ 中,即使启用了 go 模块集成,导入也不会加载

当使用带有 Go 插件的 IntelliJ IDEA 或 GoLand 并使用 Go 1.11 或更高版本时,您可以通过转至首选项 -> 语言和框架 -> Go -> Go 模块 (vgo) 并选中“启用 Go 模块”复选框来启用 Go 模块(vgo)整合'。

当您有一个由 正确初始化的项目go mod init,因此有一个go.mod和文件时,当使用IntelliJ 从命令行go.sum构建时,它将下载依赖项,方法是按绿色播放图标。go build

但是,远程依赖项的导入语句可能仍然是红色的,即使它们似乎已下载并出现在文件中go.mod

奇怪的是,go 项目实际上将从命令行运行,而不是从 IntelliJ 内部运行。这是为什么?我该如何解决这个问题?


幕布斯6054654
浏览 235回答 2
2回答

ABOUTYOU

这种方法不起作用的原因与 IntelliJ 中的配置有关。这就是为什么它可以从命令行运行,但不能在 IntelliJ 中运行。有两种方法可以解决此问题:进入 Preferences -> Languages & Frameworks -> Go -> Go Modules (vgo) 并确保未选中“Vendoring mode”框。确保您的 IntelliJ 项目中有一个名为“vendor”的文件夹。现在可以安全地检查“供应模式”框。使用第一种方法,go.mod文件中定义的依赖项可能会被重新下载,例如,当 go 项目从这些依赖项不在本地包注册表中的位置运行时。使用第二种方法,依赖项被放置在“供应商”文件夹中,并且不一定需要重新下载,它们是项目的一部分。

蝴蝶不菲

解决此问题的一种方法是更改 IntelliJ 中的设置。导航到帮助 -> 编辑自定义属性并添加:idea.max.intellisense.filesize=3000000重新启动程序,以便它可以重新加载设置。当所有其他提到的解决方案都不起作用时,这对我有用。当我将 AWS SDK for Go (1.18) 与 IntelliJ 结合使用时,我必须执行此操作。
随时随地看视频慕课网APP

相关分类

Go
我要回答