Код визуальной студии с использованием отладчика golang не соответствует коду пути gopath?
Я создаю среду golang, используя Visual Studio Code IDE MAC OS, затем устанавливаю необходимые инструменты:
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
go get -u -v github.com/nsf/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/golang/lint/golint
go get -u -v github.com/lukehoban/go-find-references
go get -u -v github.com/lukehoban/go-outline
go get -u -v sourcegraph.com/sqs/goreturns
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v github.com/tpng/gopkgs
go get -u -v github.com/newhook/go-symbols
Я когда-либо устанавливал свой путь /Users/friends/gopath
, вскоре я изменил свой путь /Users/friends/Document/share/gopath
. Я изменил gopath ~/.bash_profile , настройку кода Visual Studio о
go.gopath": "/Users/friends/Documents/VirtualMachine/share/gopath
когда я отлаживаю свой код, он сообщает, что не может найти файл in/Users/friends/gopath/src/...../apiSGetChainsIds.go
, на самом деле файл существует в /Users/friends/Documents/VirtualMachine/share/gopath/src/..../apiSGetChainsIds.go
. Очевидно, что отладчик находит предыдущий gopath
, это ошибка инструментов golang? или я что-то не так?
мои настройки пользователя
{
"files.autoSave": "afterDelay",
//"go.buildOnSave": "package",
//"go.lintOnSave": "package",
//"go.vetOnSave": "package",
"go.buildFlags": [],
"go.lintFlags": [],
"go.vetFlags": [],
"go.useCodeSnippetsOnFunctionSuggest": false,
"go.formatOnSave": false,
"go.formatTool": "goreturns",
"editor.fontSize": 14,
"go.goroot": "/usr/local/Cellar/go/1.8.3/libexec",
"go.gopath": "/Users/friends/Documents/VirtualMachine/share/gopath"
}
go.gopath
замените префикс тильды (~
) на фактический каталог, поскольку он зависит от оболочки и, возможно, не заменяется vscode. Если вы определяетеGOPATH
в.bash_profile
, используйте GOPATH вместоgo.gopath
. - person putu   schedule 08.09.2017go.gopath
. Проверьте текущий GOPATH в vscode через меню:View->Command Palette...->Go: Current GOPATH
. Также проверьте значениеgo.inferGopath
в настройках vscode (значение по умолчанию —false
, пожалуйста, используйте значение по умолчанию). - person putu   schedule 08.09.2017go env
, он показываетGOPATH="/Users/friends/Documents/VirtualMachine/share/gopath"
, аgo.inferGopath
не меняется. - person Jim Green   schedule 08.09.2017View
, а затемCommand Palette...
в своей vscode IDE. Я думаю, что ваша проблема связана с https://github.com/Microsoft/vscode-go/wiki/Debugging-Go-code-using-VS-Code#cannot-find-package--in-any-of-. - person putu   schedule 08.09.2017Current GOPATH: /Users/friends/Documents/VirtualMachine/share/gopath
, на самом деле в моем файле launch.json написано `env: {CORE_LOGGING_LEVEL: WARNING, GOPATH: /Users/friends/Documents/VirtualMachine/share/gopath}, ` - person Jim Green   schedule 08.09.2017