当使用模块时,使VSCode在工作空间中安装包。

问题描述 投票:0回答:1

我已经建立了一个没有使用go模块的go应用程序。

我使用VSCode作为编辑器。我在VSCode工作区中设置了以下内容。

myapp-workspace.workspace-code(工作空间代码)

{
  "folders": [
    {
      "path": "."
    }
  ],
  "settings": {
    "go.gopath": "/Users/blah/blah/myapp/",
    "go.testFlags": ["-v"]
  }
}

一切都很好,我可以 安装当前的软件包 在VSCode命令行中,结果看到的文件是 myapp.a 文件夹中的 用户blahblahmyappbinmyapp。.

然后我决定使用 去模块. 我运行命令 go mod init github.com/myuser/myapp而我的生活也不再快乐了。

如果我想跑 安装当前的软件包 我得到的错误是 Installation failed: $GOPATH/go.mod exists but should not. 如果我从工作区删除设置,软件包就会被安装,但它是安装在 ~gobin.

哪种方式可以配置VSCode,让它可以在我的工作空间中使用模块安装包?

go visual-studio-code vscode-settings
1个回答
0
投票

您的 "文件夹":[ { "路径": "." }... go.gopath 工作区设置 $GOPATH 为打开的工作空间)指向(我猜)项目目录,在那里你也有 go.mod.

有了Go模块,你就不能有 go.gopath ($GOPATH)指向使用模块的项目目录。如果你想使用 go getgo install 你要走了 go.gopath 的其他地方(如果你喜欢每个项目只有一个GOPATH,它也可以是你项目目录下的子目录)。要注意的是,这可能会导致问题,因为 有些工具Visual Studio Code使用的是模块意识,有些则不是。.

当使用Go模块时,推荐的解决方案是切换到新的语言服务器。gopls 的模块意识。这里是跟踪Visual Studio代码中对Go模块支持的页面,并有如何启用模块的指南。gopls: https:/github.comMicrosoftvscode-gowikiGo-modules-support-in-Visual-Studio-Code。

© www.soinside.com 2019 - 2024. All rights reserved.