Clone
97
IDEsAndTextEditorPlugins
ColourGrey edited this page 2022-08-07 19:25:34 +03:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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