This document lists commonly used editor plugins and IDEs from the Go ecosystem that make Go development more productive and seamless. A comprehensive list of editor support and IDEs for Go development is available at the wiki.
The Go ecosystem provides a variety of editor plugins and IDEs to enhance your day-to-day editing, navigation, testing, and debugging experience.
Note that these are only a few top solutions; a more comphensive community-maintained list of IDEs and text editor plugins is available at the Wiki.
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 |  Gogland |  Atom | |
|---|---|---|---|---|
| Editing features | ||||
| Build and run from the editor/IDE | Yes | Yes | Yes | Yes | 
| Autocompletion of identifers (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 *.goand*_test.gofile | 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 | No | 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.