Introduction

This document lists commonly used editor plugins and IDEs from the Go ecosystem that makes Go development more productive and seamless. A comphensive list of editor support and IDEs for Go development is available on the wiki.

Options

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 provides a large variety of static and dynamic tool integrations. The following feature matrix lists and compares the most significant features.


Vim Go

Visual Studio Code Go

Gogland
Editing features
Build and run from the editor/IDE Yes Yes Yes
Autocompletion of identifers (variable, method, and function names) Yes Yes Yes
Autocompletion based on type No No Yes
Rename identifiers Yes Yes Yes
Auto format, build, vet, and lint on save Yes Yes Yes1
Auto insert import paths and remove unused on save Yes Yes Yes2
Auto generate JSON, XML tags for struct fields Yes Yes Yes
Navigation features
Display documentation inline, or open godoc in browser Yes Yes Yes
Switch between *.go and *_test.go file Yes Yes Yes
Jump to definition and referees Yes Yes Yes
Look up for interface implementations Yes Yes Yes
Search for callers and callees Yes Yes Yes
Testing and debugging features
Debugger support No Yes Yes
Run a single test case, all tests from file, or all tests from a package Yes Yes Yes
Auto generate tests for packages, files and identifiers No Yes No
Debug tests No Yes Yes
Display test coverage Yes Yes Yes
Install Install Install

1: Possible when enabled via Settings > Go > On Save, go vet and golint are available via plugins. Also runs tests on save if configured.
2: Additionally, user input can disambiguate when two or more options are available.