Skip to content

IDEsAndTextEditorPlugins

leonklingele edited this page Sep 30, 2021 · 93 revisions
Clone this wiki locally

Editors and IDEs for Go

Popular

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

Less popular

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.
  • 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.