2016-08-20 2 views
6

Я установил расширение Go для VS Code, но не смог заставить его работать.Как использовать отладчик Delve в коде Visual Studio

"dlv debug" работает нормально с терминала.

dlv debug src/github.com/user/hello 

launch.json:

{ 
    "version": "0.2.0", 
    "configurations": [ 
     { 
      "name": "Launch", 
      "type": "go", 
      "request": "launch", 
      "mode": "debug", 
      "program": "${workspaceRoot}", 
      "env": {}, 
      "args": [] 
     } 
    ] 
} 

Вы знаете, как установить его?

ответ

24

Для использования углубиться отладчика в Visual Studio кодекса с Golang, выполните следующие действия:

(Note: for Windows OS replace all $GOPATH with %GOPATH%) 
  • Установить Последние Golang и установить GOROOT и GOPATH
  • Добавить $GOPATH/bin в переменную окружения OS PATH.
  • набор переменная окружения: GO15VENDOREXPERIMENT = 1
  • перспективе: go get github.com/derekparker/delve/cmd/dlv и убедитесь, что dlv двоичный генерироваться в вашем $GOPATH/bin
  • Установите Visual Studio Code
  • Запуск VS Code Quick Open (Ctrl + P), вставьте команду: ext install Go и нажмите enter.
  • нажмите установить Rich Go language support for Visual Studio Code
  • нажмите Enable и перезапустить Visual Studio Code
  • Внутри Visual Studio Code Открыть папку Ctrl + Сдвиг + E, например: $GOPATH\src\hello\
  • Затем Открыть hello.go из этой папки (или сделать новый файл Ctrl + N и сохраните его в этой папке):
package main 

import "fmt" 

func main() { 
    fmt.Println("Hello World!") 
    i := 101 
    fmt.Println(i) 
} 
  • Затем Открыть Debugger Ctrl + Сдвиг + D
  • на этой линии: i := 101 нажмите F9 для установки или переключения beakpoint.
  • Нажмите F5, чтобы начать отладку или запустить приложение, если требуется выбрать среду: выберите Go.
  • Пресс F10 Чтобы сделать шаг.
  • Пресс F11 Чтобы сделать шаг.
  • Press Shift + F11, чтобы выйти.
  • Press Shift + F5 Остановить отладку.
  • Нажмите Ctrl +сдвиг + F5 перезапустить отладку.

Мои launch.json нетронутым:

{ 
    "version": "0.2.0", 
    "configurations": [ 
     { 
      "name": "Launch", 
      "type": "go", 
      "request": "launch", 
      "mode": "debug", 
      "remotePath": "", 
      "port": 2345, 
      "host": "127.0.0.1", 
      "program": "${workspaceRoot}", 
      "env": {}, 
      "args": [], 
      "showLog": true 
     } 
    ] 
} 

Результат:

enter image description here

+0

@ CHRIS-г \t Я надеюсь, что это помогает. –

+0

Если у вас есть код с кодом VS, для нового сеанса отладки попробуйте: 'Файл/Закрыть папку', ' Файл/Открыть папку', 'Из проводника на левой панели нажмите' hello.go' и откройте его ' , 'Нажмите F9 для разрыва point', ' Нажмите F5 выберите Go ',' Закрыть file' JSON, 'Нажмите debugger', ' Нажмите F5' –

+1

Спасибо! Хотя я все еще не могу заставить отладчик работать. Я получаю: не могу загрузить пакет: package.: No buildable Перейти к исходным файлам в/Users/xx/godeep статус выхода 1 –

0

FTA (в случае, если это трудно найти), если при использовании delve и вы получите cannot find package ошибку, даже если ваш GOPATH установлен правильно, проверьте this bug of vscode-go, он влияет как на ОС MAC, так и на Linux, по состоянию на октябрь 2017 года.

Решение опубликовано там же:

... adding the GOPATH as an env var in the env property in the launch.json file solved the problem

Смежные вопросы