VS Code 抛出错误“没有可导入的包”,但代码编译并运行良好

yog*_*cak 6 go go-modules

作为工作要求,gRPC通过在线课程学习。

greet我在文件夹(外部)中定义了一个项目,GOPATH其中包含三个名为:

  • greet_client
  • greet_server
  • greetpb

在此输入图像描述

go.mod项目根目录的文件中,我指定了以下内容:

module example.com/myuser/myproject

go 1.14
Run Code Online (Sandbox Code Playgroud)

中的代码greet_server/server.go引用了greetpb.

我像下面这样引用它:

在此输入图像描述

我能够server.go成功运行。它返回预期的结果: 在此输入图像描述

我的问题是 VSCode 抛出的红色波浪线表示无法导入greetpb: 在此输入图像描述

以下是包的greetpb定义方式(它是一个自动生成的文件): 在此输入图像描述

我怎样才能摆脱这个警告信息?难道是我没设置好?

更新:

当我尝试查看文件上的ctrl+click模块时,我注意到它指向 url 。greetpbserver.gopkg.go.dev

我怎样才能让程序进行“本地”查找? 在此输入图像描述

小智 -1

  1. 你为什么要使用example.com?您没有在那里定义您的包。

  2. 首先初始化go模块,即

go mod init github.com/$USER/$REPO

  1. Go 模组供应商

go mod tidy && go mod vendor

  1. 就是这样。