title |
---|
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 https://github.com/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.
- CodeLobster IDE Smart free cross-platform IDE with built-in Go support
- 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 Nova — Go syntax highlighting and interface with the Language Server Protocol (LSP) using Google's official
gopls
language server for Go (if installed). - Go Tools — Run
goimports
on save or via a command. Syntax highlighting for Go.
- Go Language Definition for Nova — Go syntax highlighting and interface with the Language Server Protocol (LSP) using Google's official
- 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.
- Zed: Code at the speed of thought.