From: Andrew Bonventre
Even though both delve and gdb provides CLIs, most editor integrations
-and IDEs provides debugging-specific user interfaces. Please refer to
-the editors guide to see the options
-with debugger UI support.
+and IDEs provides debugging-specific user interfaces.
Is it possible to do postmortem debugging with Go programs?
-Each development environment integrates a number of Go-specific tools. -The following feature matrix lists and compares the most significant features. -
- -- | ![]() vim |
- ![]() Visual Studio Code |
- ![]() GoLand |
- ![]() Atom |
-
---|---|---|---|---|
Editing features | -||||
Build and run from the editor/IDE | -Yes | -Yes | -Yes | -Yes | -
Autocompletion of identifiers (variable, method, and function names) | -Yes | -Yes | -Yes | -Yes | -
Type-aware autocompletion | -No | -No | -Yes | -No | -
Rename identifiers | -Yes | -Yes | -Yes | -Yes | -
Auto format, build, vet, and lint on save | -Yes | -Yes | -Yes1 | -Yes | -
Auto insert import paths and remove unused on save | -Yes | -Yes | -Yes2 | -Yes | -
Auto generate JSON, XML tags for struct fields | -Yes | -Yes | -Yes | -Yes | -
Navigation features | -||||
Display documentation inline, or open godoc in browser | -Yes | -Yes | -Yes | -Yes | -
Switch between *.go and *_test.go file |
- Yes | -Yes | -Yes | -No | -
Jump to definition and referees | -Yes | -Yes | -Yes | -Yes | -
Look up for interface implementations | -Yes | -Yes | -Yes | -Yes | -
Search for callers and callees | -Yes | -Yes | -Yes | -Yes | -
Testing and debugging features | -||||
Debugger support | -No | -Yes | -Yes | -Yes3 | - -
Run a single test case, all tests from file, or all tests from a package | -Yes | -Yes | -Yes | -No | -
Auto generate tests for packages, files and identifiers | -No | -Yes | -Yes | -No | -
Debug tests | -No | -Yes | -Yes | -Yes3 | -
Display test coverage | -Yes | -Yes | -Yes | -Yes | -
- | Install | -Install | -Install | -Install | -
-1Possible when enabled via Settings > Go > On Save, go
vet
and golint
are available via plugins. Also runs tests on save if configured.
-
-2Additionally, user input can disambiguate when two or more options are available.
-
-3Available if the go-debug package is installed.
-