Код отладки визуального кода студии не соответствует gopath с использованием golang

Код визуальной студии с использованием отладчика 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"

    }

person Jim Green    schedule 08.09.2017    source источник
comment
В значении go.gopath замените префикс тильды (~) на фактический каталог, поскольку он зависит от оболочки и, возможно, не заменяется vscode. Если вы определяете GOPATH в .bash_profile, используйте GOPATH вместо go.gopath.   -  person putu    schedule 08.09.2017
comment
извините, на самом деле я использую абсолютный путь, он может не работать. Я изменил описание моего вопроса ~ на /Users/friends   -  person Jim Green    schedule 08.09.2017
comment
Очевидно, что сообщение об ошибке не точно совпадает со значением go.gopath. Проверьте текущий GOPATH в vscode через меню: View->Command Palette...->Go: Current GOPATH. Также проверьте значение go.inferGopath в настройках vscode (значение по умолчанию — false, пожалуйста, используйте значение по умолчанию).   -  person putu    schedule 08.09.2017
comment
Что вы подразумеваете под меню: View->Command Palette...->Go: Current GOPATH? Я ввожу go env , он показывает GOPATH="/Users/friends/Documents/VirtualMachine/share/gopath", а go.inferGopath не меняется.   -  person Jim Green    schedule 08.09.2017
comment
Я имею в виду, нажмите меню View, а затем 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.2017
comment
командная палитра показывает Current 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


Ответы (1)


У меня также была проблема, чтобы запустить его сегодня, и вот что было необходимо:

  1. погрузитесь в себя (https://github.com/derekparker/delve)

    либо а) если вы предпочитаете собирать и устанавливать его, клонируйте репо в

    ~/go/src/github.com/derekparker/дельве

а затем запустите:

go install github.com/derekparker/delve/cmd/dlv

из-за последних обновлений безопасности macOS вам также необходимо подписать код:

codesign -s dlv-cert $(which dlv)

или б) попробовать заварить

  1. добавить конфигурацию запуска в launch.json, моя работа выглядела следующим образом:

"configurations": [ { "name": "Пакет запуска", "type": "go", "request": "launch", "mode": "debug", "program": "${workspaceRoot}/myAppPackagePath /", "cwd": "${workspaceRoot}", "args": ["option1","option2","..."], "showLog": true } ]

person Macilias    schedule 19.01.2018
comment
delve не устанавливается в архитектуре Windows 32. - person Abr001am; 14.03.2018