zanjs / blog-notes

2 stars 0 forks source link

vs code go 调试 #33

Open zanjs opened 7 years ago

zanjs commented 7 years ago

启动vscode后选择 文件菜单 -> 首选项 -> 工作区设置

在打开的 .vscode/settings.json 文件,修改 gorootgopath

{
// Go configuration
    // Run 'go build'/'go test -c' on save.
    "go.buildOnSave": true,
    // Flags to `go build`/`go test` used during build-on-save or running tests. (e.g. ['-ldflags="-s"'])
    "go.buildFlags": [],
    // Run Lint tool on save.
    "go.lintOnSave": true,
    // Specifies Lint tool name.
    "go.lintTool": "golint",
    // Flags to pass to Lint tool (e.g. ['-min_confidenc=.8'])
    "go.lintFlags": [],
    // Run 'go tool vet' on save.
    "go.vetOnSave": true,
    // Flags to pass to `go tool vet` (e.g. ['-all', '-shadow'])
    "go.vetFlags": [],
    // Pick 'gofmt', 'goimports' or 'goreturns' to run on format.
    "go.formatTool": "goreturns",
    // Flags to pass to format tool (e.g. ['-s'])
    "go.formatFlags": [],
    // Run the formatting tools with the -d flag
    "go.useDiffForFormatting": true,
    // Complete functions with their parameter signature
    "go.useCodeSnippetsOnFunctionSuggest": false,
    // Specifies the GOPATH to use when no environment variable is set.
    "go.gopath": "//home/chenjianhua/gocode",
    // Specifies the GOROOT to use when no environment variable is set.
    "go.goroot": "/usr/local/go",
    // Run formatting tool on save.
    "go.formatOnSave": true,
    // Run 'go test -coverprofile' on save
    "go.coverOnSave": false,
    // Specifies the timeout for go test in ParseDuration format.
    "go.testTimeout": "30s",
    // Enable gocode's autobuild feature
    "go.gocodeAutoBuild": true,
    // The Go build tags to use for all commands that support a `-tags '...'` argument
    "go.buildTags": "",
    // Environment variables that will passed to the process that runs the Go tests
    "go.testEnvVars": {},
    // Autocomplete members from unimported packages.
    "go.autocompleteUnimportedPackages": true
}

需要的扩展插件

vs code 本身并不能调试 go 的代码,需要安装 go delve 插件来调试。

错误提示

Failed to continue: "Cannot find Delve debugger at dlv. Ensure it is in your "GOPATH/bin" or "PATH"."

go get -u -v github.com/derekparker/delve/cmd/dlv

到此就可以调试了。