Skip to content

Editors and IDEs for Go

The Go Developer Survey showed these as the most popular editors. * Visual Studio Code: Free & open source IDE by Microsoft. Visual Studio Code supports Go syntax highlighting out of the box. Additional features are provided by the official vscode-go plugin. * GoLand: JetBrains's cross-platform, fully featured Go IDE (commercial). Free for students, teachers, open-source developers, and user-groups (see details). Also available as part of IntelliJ IDEA Ultimate.

  • Vim & Neovim: Vi Improved. There are a number of plugins available that make editing Go code easier.
    • The vim-go plugin includes misc/vim and has many other new improvements.
    • The Syntastic plugin gives instant feedback on compile errors
    • The tagbar plugin uses Gotags, above, to show an outline of the current file
    • A vim compiler plugin for syntax checking
    • A vim-godef plugin integrates with the 'godef' tool, above
    • A vim-go-extra is vim plugin based on misc/vim in go repository. This works fine on windows too!
    • The go-ide is a Neovim configuration file that ties go related plugins together making autocomplete, auto-importing, snippets, code formatting, and file search/browsing easier.
    • govim is an LSP-driven vim plugin for Go development, written in Go using Vim8’s channel support.
  • Emacs: Extensible and customizable text editor. It has generic LSP support that works well with gopls, the official Go language server.
    • LSP Mode provides LSP support with a batteries-included approach, with many integrations enabled “out of the box” and several additional behaviors provided by lsp-mode itself.
    • Eglot provides LSP support with a minimally-intrusive approach, focusing on smooth integration with other established packages. It provides a few of its own eglot- commands but no additional keybindings by default.
    • Mode file maintained at dominikh/go-mode.el.
    • GoFlyMake Flymake-style syntax checking for Go
    • go-errcheck.el Errcheck integration for Emacs
    • flycheck-metalinter Flycheck integration for go-metalinter utility
    • go-playground Local playground inside Emacs

These editors are less popular, and may have less modern Go support. In particular, they may not support Go modules. * Atom: JavaScript-based editor from GitHub. Go support at go-plus * BBEdit: free text editor for macOS (with paid upgrade for pro features). * Go support available with the Go-bbpackage module including syntax highlighting, clippings, ctags standard library completion, and tools * Brackets: a modern, open source text editor that understands web design. * go-ide Go support with autocompletion through gocode. * Chime: Capable. Focused. Fast. A Go editor for macOS. * CodePerfect 95: A blazing fast IDE for Go. * jEdit: open-source, cross-platform text editor written in Java. Syntax-highlighting file available. * Kate Kate is an advanced, cross-platform text editor developed by KDE, with Go support out-of-the-box. * Komodo IDE Powerful cross-platform IDE with built-in Go support * Komodo Edit Powerful cross-platform text editor, Go-lang support available via plugin * LiteIDE: A simple, open source and cross-platform Go IDE * Micro: A modern and intuitive terminal-based text editor written in Go * Go language support (gofmt and goimports) via plugin * Notepad++: Free source code editor for Windows. * notepadplus-go Syntax highlighting, functions list panel (for code browsing), code completion for keywords & builtins. * The GOnpp plugin (available via Notepad++'s built-in Plugin Manager) provides code completion (requires gocode), function calltips, goimports integration, and keyboard shortcuts for common go commands. [sources, binaries]. * GoAutocomplete is another code completion plugin. * Nova: Native Mac code editor. * Go Language Definition for NovaGo syntax highlighting and interface with the Language Server Protocol (LSP) using Google's official gopls language server for Go (if installed). * Go ToolsRun goimports on save or via a command. Syntax highlighting for Go. * Source Insight: Commercial programming editor & code browser with built-in live analysis for C, C++, C#, Java, and more; helping you understand large projects. * golang.xclf is a Custom Language file adding syntax formatting and some parsing support to Source Insight for Go language. * Sublime Text: Commercial text editor. * (Sublime Text 4 only) LSP + gopls is a plugin collection with IDE-like features available. * GoSublime is a plugin collection with IDE-like features available. * Golang Build is the official Sublime Text package for Go build system integration. * Textadept: Textadept is a fast, minimalist, and remarkably extensible cross-platform text editor. Supports Go syntax highlighting out of the box. * TextMate: Commercial text editor for macOS. Source code available under the GPLv3. Bundle for Go available.

Cloud Based IDEs

  • Cloud9: claims full Go support.
  • Gitpod: GitHub integrated cloud IDE with full Go support.

Last update: March 1, 2022