Я довольно новичок с Golang и пытаюсь использовать его с VSCode в качестве редактора.
У меня есть рабочее пространство VSCode, которое содержит исходный код моего приложения, разделенного на несколько пакетов, что-то вроде
myapp (the workspace)
src
pck1
f11.go
f11_test.go
pck2
f21.go
f21_test.go
Моя цель - иметь возможность запускать все тесты одной командой изнутри VSCode. Я установил расширение GO.
В настройках myapp-workspace.code-workspace
я определил
"settings": {
"go.gopath": "/blah/blah/myapp/",
"go.testFlags": ["-v"]
}
, чтобы убедиться, что GOPATH
указывает на папку моего рабочего пространства.
При такой настройке я могу запустить один тестовый файл или один пакет из палитры команд VS C, но если я попытаюсь запустить команду Go: Test all packages in Workspace
, как предложено @icza, я увижу на выходе окно, которое запускает команда:
/usr/local/go/bin/go test -timeout 30s ./... -v
, что приводит к серии сообщений об ошибках, первое из которых
can't load package: package ./pkg/mod/9fans.net/go@v0.0.0-20181112161441-237454027057/acme: cannot use path@version syntax in GOPATH mode
Если я пытаюсь использовать встроенный терминал VS C с go test
Я получаю ошибку
can't load package: package .: no Go files in /blah/blah/myapp
Если я попытаюсь с интегрированного терминала VS C с go test ./...
, я получу длинный список ошибок, похожих на те, которые были сгенерированы командой Go: Test all packages in Workspace
и в конце я получаю следующие ошибки
src/game/game.go:4:2: cannot find package "pck1" in any of:
/usr/local/go/src/pck1 (from $GOROOT)
/Users/administrator/go/src/pck1 (from $GOPATH)
src/game/game.go:6:2: cannot find package "pck2" in any of:
/usr/local/go/src/pck2 (from $GOROOT)
/Users/administrator/go/src/pck2 (from $GOPATH)
Я чувствую, что я делаю что-то не так со значением GOPATH, но я не знаю, что.
Есть ли способ запустить все тестирует во всех пакетах из VSCode одной командой?