Заставить VSCode устанавливать пакеты в рабочей области при использовании модулей - PullRequest
0 голосов
/ 02 мая 2020

Я создал приложение go без использования модулей go.

Я использую VSCode в качестве редактора. Я установил следующее в рабочей области VSCode

myapp-workspace.workspace-code

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

Все работает, я могу Установить текущий пакет из командной строки VSCode, в результате смотрите файл myapp.a в папке / Users / blah / blah / myapp / bin / myapp .

Тогда я решу использовать go модулей . Я запускаю команду go mod init github.com/myuser/myapp, и моя жизнь больше не радует.

Если я пытаюсь запустить Установить текущий пакет Я получаю ошибку Installation failed: $GOPATH/go.mod exists but should not. Если я удаляю настройки из рабочей области, пакет устанавливается, но он устанавливается в ~ / go / bin .

Это способ настроить VSCode, чтобы он мог устанавливать пакеты в моей рабочей области с использованием модулей?

1 Ответ

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

Ваш go.gopath параметр рабочего пространства (эквивалентный $GOPATH для открытого рабочего пространства) указывает (я полагаю) на каталог проекта, где у вас также есть go.mod.

С модулями Go вы можете go.gopath ($GOPATH) указывает на каталог проекта, который использует модули. Если вы хотите использовать go get и go install, вам нужно переместить go.gopath в другое место (это также может быть подкаталог в каталоге вашего проекта, если вы предпочитаете одну GOPATH на проект). Помните, что это может вызвать проблемы, так как некоторые инструменты, которые использует код Visual Studio, поддерживают модули, а некоторые не .

Рекомендуемое решение при использовании Go модулей - это переключение на новый языковой сервер gopls который осведомлен о модулях. Вот страница, которая отслеживает поддержку Go модулей в коде Visual Studio и содержит руководство по включению gopls: https://github.com/Microsoft/vscode-go/wiki/Go-modules-support-in-Visual-Studio-Code

...