Как разрешить поддержку папки "vendor" в коде Visual Studio - PullRequest
0 голосов
/ 05 мая 2020

Недавно я перешел на бесплатный редактор Visual Studio Code для проекта Go. Я выполнил всю первоначальную настройку, начиная с установки Go плагина и c.

Однако пакеты, которые хранятся в папке vendor моего проекта, не распознаются. Когда я раньше пользовался редактором Goland, проблем не было.

Выдает следующую ошибку.

20:5: cannot find package "github.com/gorilla/mux" in any of:
    /usr/local/Cellar/go@1.12/1.12.17/libexec/src/github.com/gorilla/mux (from $GOROOT)
    /Users/abc/workspace/proj/src/github.com/gorilla/mux (from $GOPATH)
    /Users/abc/workspace/projgopath/src/github.com/gorilla/mux
exit status 1
Process exiting with code: 1

Моя файловая структура проекта выглядит следующим образом:

proj
  +---src
       +---vendor

У меня есть настройки. json файл, как показано ниже:

{
    "go.gopath": "/Users/abc/workspace/proj/:/Users/abc/workspace/projgopath/",
    "go.lintOnSave": "off",
    "go.vetOnSave": "off",
    "javascript.updateImportsOnFileMove.enabled": "always",
    "go.toolsGopath": "/Users/abc/workspace/toolsgopath",
    "go.goroot": "",
    "eslint.runtime": ""
}

Насколько далеко как я знаю, нам не нужно указывать папку vendor в GOPATH, как путь к проекту, как упоминалось выше. 'Sr c' неявно добавляется компилятором Go, когда он пытается разрешить / найти код другого приложения, но не поставщика.

В качестве обходного пути я могу скопировать все go пакеты, установленные в 'vendor', в "/Users/abc/workspace/projgopath/src", но я стараюсь избегать этого, так как это выполняется вручную.

Не могли бы вы помочь, как мне настроить и заставить это работать в редакторе Visual Source Code? Нужно ли мне устанавливать какой-либо плагин, чтобы это работало? Я использую версию 1.44.0 редактора Visual Source Code.

1 Ответ

0 голосов
/ 06 мая 2020

Вам необходимо создать файл go .mod

go mod init github.com/username/project

или переместить проект внутрь вашего GOPATH

...