J'ai installé l'extension Go pour VS Code, mais je suis incapable de le faire fonctionner.
"dlv debug" fonctionne bien à partir du terminal.
dlv debug src/github.com/user/hello
Le launch.json
:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceRoot}",
"env": {},
"args": []
}
]
}
Savez-vous comment le configurer?
Pour utiliser le débogueur Delve dans Visual Studio Code avec Golang, procédez comme suit:
( Note: for Windows OS replace all $GOPATH with %GOPATH% )
GOROOT
and GOPATH
name__$GOPATH/bin
à la variable d’environnement de votre système PATH
name__.GO15VENDOREXPERIMENT = 1
go get github.com/derekparker/delve/cmd/dlv
et assurez-vous que dlv
binaire est généré dans votre $GOPATH/bin
ext install Go
et appuyez sur entrée.Rich Go language support for Visual Studio Code
Enable
et redémarrez Visual Studio CodeVisual Studio Code
Open Folder Ctrl+Shift+E , par exemple: $GOPATH\src\hello\
hello.go
à partir de ce dossier (ou créez un nouveau fichier Ctrl+N et enregistrez-le sur ce dossier):package main
import "fmt"
func main() {
fmt.Println("Hello World!")
i := 101
fmt.Println(i)
}
i := 101
appuyez sur F9 pour définir ou basculer le point de bec.Go
name__.Mon launch.json
intact:
{
"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
}
]
}
Résultat:
FTA (au cas où il est difficile à trouver), si vous utilisez delve
et que vous obtenez une erreur cannot find package
alors que votre GOPATH
est correctement défini, consultez ce bogue de vscode-go , il affecte à la fois MAC OS et Linux, à partir d'octobre 2017.
La solution est également affichée ici:
... l'ajout de GOPATH en tant que variable env dans la propriété env du fichier launch.json a résolu le problème
Content launch.json pour gdb et delve
{
// Используйте IntelliSense, чтобы узнать о возможных атрибутах.
// Наведите указатель мыши, чтобы просмотреть описания существующих атрибутов.
// Для получения дополнительной информации посетите: https://go.Microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Delve",
"type": "go",
"request": "launch",
"mode": "debug",
"remotePath": "",
"port": 2345,
"Host": "127.0.0.1",
"program": "${workspaceRoot}/src/hello/hello.go",
"env": {},
"args": [],
"showLog": true
}
,
{
"type": "gdb",
"request": "launch",
"name": "GDB",
"target": "${workspaceRoot}/src/hello/hello",
"cwd": "${workspaceRoot}",
"linux": {
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
},
}
]
}