在 vscode 中安装代理后,VScode 向我显示错误

郭寰宇*_*郭寰宇 6 go visual-studio-code

gopls 需要在工作区的根目录下有一个模块。您可以通过将每个模块作为工作区文件夹打开来处理多个模块。此工作流程的改进即将推出 ( https://github.com/golang/go/issues/32394 ),您可以在此处了解更多信息:https : //github.com/golang/go/issues/36899

F1k*_*1ko 103

去1.18+

\n

从 Go 1.18 开始,原生支持多模块工作区。\n这是通过go.work在父目录中存在一个文件来完成的。

\n

对于目录结构,例如:

\n
$ tree /my/parent/dir\n/my/parent/dir\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 project-one\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 go.mod\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 project-one.go\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 project-one_test.go\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 project-two\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 go.mod\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 project-two.go\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 project-two_test.go\n
Run Code Online (Sandbox Code Playgroud)\n

通过执行以下命令创建并填充文件go work

\n
cd /my/parent/dir\ngo work init\ngo work use project-one\ngo work use project-two\n
Run Code Online (Sandbox Code Playgroud)\n

这将go.work在您的父目录中添加一个文件,其中包含您标记为使用的目录列表:

\n
go 1.18\n\nuse (\n    ./project-one\n    ./project-two\n)\n
Run Code Online (Sandbox Code Playgroud)\n

  • 这应该是 Go1.18+ 代码问题的公认答案。这是答案的来源https://github.com/golang/tools/blob/master/gopls/doc/workspace.md (8认同)
  • 对于 VS Code,“/my/parent/dir”应该是工作区根目录。参考:https://github.com/golang/vscode-go/issues/2534#issuecomment-1321922111 (2认同)

小智 56

要解决此问题,请按照以下步骤操作:

步骤1:打开Vscode,然后进入设置。

步骤 2:在搜索栏中输入 gopls

第 3 步:在其下方您将找到 settings.json,单击它

第 4 步:粘贴以下代码“gopls”:{“experimentalWorkspaceModule”:true,}

第5步:保存并重新启动Vscode,现在就可以开始了。


小智 14

您的工作区中可能有多个 go 模块。如果是这种情况,您可以更改 go 扩展设置,以允许 gopls 在工作区中查找多个模块。只需将以下内容添加到您的settings.json

"gopls": {
    "experimentalWorkspaceModule": true,
}
Run Code Online (Sandbox Code Playgroud)

您可以gopls在文档中阅读有关配置的更多信息:https : //github.com/golang/tools/blob/master/gopls/doc/settings.md

  • 到目前为止, `"gopls": { "experimentalWorkspaceModule": true, }` 的使用已被弃用,下面 @1ko 分享的方法将是现在使用的方法 (14认同)
  • 这是一个很好的答案,特别是对于新学习者在学习时设置多个工作区、一本书的不同章节等。 (4认同)
  • 注意:记得保存并重启VSCode。“设置”菜单是“首选项”的子菜单。 (2认同)

小智 9

设置已更改,现在您需要使用:

"gopls": {
    "build.experimentalWorkspaceModule": true,
}
Run Code Online (Sandbox Code Playgroud)


小智 9

赶紧跑go mod init your_module_mane。这个命令对我有用。