VS Code 向我显示“加载工作区时出错:在工作区中两次找到模块“main.go””

分享于2022年07月17日 compiler-errors go module vscode-extensions 问答
【问题标题】:VS Code 向我显示“加载工作区时出错:在工作区中两次找到模块“main.go””(VS Code showing me "Error loading workspace: found module "main.go" twice in the workspace")
【发布时间】:2022-01-17 17:49:23
【问题描述】:

我正在使用 primary GO extension

我经常使用 VS 代码,现在我正在学习 GO 语言。
当我每次打开 VS Code 时:

Error loading workspace: found module "main.go" twice in the workspace. 

在运行代码时,它会给出正确的输出。
我不知道如何解决这个问题。
任何人,帮我解决这个错误。

  • 请勿发文字图片。

【解决方案1】:

最好在 VSCode 中只打开一个带有自己的 go.mod 项目的文件夹。

应该支持具有多个 go.mod /project 的工作区 with 1.18

go 命令现在支持“工作区”模式。

如果在工作目录或父目录中找到 go.work 文件,或者使用 -workfile 标志指定了一个文件,它会将 go 命令置于工作区模式。
在工作区模式下, go.work 文件将用于确定用作模块解析根的主模块集,而不是使用通常找到的 go.mod 文件来指定单个主模块。

Varun Kumar 的“ How to make VScode Go work in a Multi-Module Repo ”中所述,您也可以尝试:

如果您想在单个工作区中使用所有嵌套模块,则有一个可选模块功能允许使用多个模块,而无需为每个模块创建工作区文件夹。在您的设置中进行设置 -

"build.experimentalWorkspaceModule": true

gopls documentation "Setting up your workspace" 查看更多信息。