1
0
mirror of https://github.com/golang/go synced 2024-07-05 18:00:52 +00:00

Updated IDEsAndTextEditorPlugins (markdown)

Heschi Kreinick 2021-01-20 13:19:39 -05:00
parent 8673100c45
commit 826d2ef9ed

@ -1,32 +1,39 @@
# IDEs and Plugins for Go
# Editors and IDEs for Go
## Popular
The [Go Developer Survey](https://blog.golang.org/survey2019-results) showed these as the most popular editors.
* **[Visual Studio Code](https://code.visualstudio.com/)**: 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](https://github.com/golang/vscode-go) plugin.
* **[GoLand](https://www.jetbrains.com/go/)**: JetBrains's cross-platform, [fully featured](https://www.jetbrains.com/go/features/) Go IDE (commercial). Free for students, teachers, open-source developers, and user-groups ([see details](https://www.jetbrains.com/go/buy/#edition=discounts)). Also available as part of IntelliJ IDEA Ultimate.
* **[Vim](http://www.vim.org/)** & **[Neovim](https://neovim.io/)**: Vi Improved. There are a number of plugins available that make editing Go code easier.
* The [vim-go](https://github.com/fatih/vim-go) plugin includes misc/vim and has many other new improvements.
* The [Syntastic](https://github.com/scrooloose/syntastic) plugin gives instant feedback on compile errors
* The [tagbar](https://github.com/majutsushi/tagbar) plugin uses Gotags, above, to show an outline of the current file
* A [vim compiler plugin](https://github.com/rjohnsondev/vim-compiler-go) for syntax checking
* A [vim-godef](https://github.com/dgryski/vim-godef) plugin integrates with the 'godef' tool, above
* A [vim-go-extra](https://github.com/vim-jp/vim-go-extra) is vim plugin based on misc/vim in go repository. This works fine on windows too!
* The [go-ide](https://github.com/plentiform/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](https://github.com/govim/govim) is an LSP-driven vim plugin for Go development, written in Go using Vim8s channel support.
* **[Emacs](https://www.gnu.org/software/emacs/)**: Extensible and customizable text editor. It has generic LSP support that works well with gopls, the official Go language server.
* **[LSP Mode](https://emacs-lsp.github.io/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](https://github.com/joaotavora/eglot/blob/master/README.md)** 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](https://github.com/dougm/goflymake) Flymake-style syntax checking for Go
* [go-errcheck.el](https://github.com/dominikh/go-errcheck.el) Errcheck integration for Emacs
* [flycheck-metalinter](https://github.com/favadi/flycheck-gometalinter) Flycheck integration for go-metalinter utility
* [go-playground](https://github.com/grafov/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](https://atom.io/)**: JavaScript-based editor from GitHub. Go support at [go-plus](https://github.com/joefitzgerald/go-plus)
* **[BBEdit](https://www.barebones.com/products/bbedit/)**: free text editor for macOS (with paid upgrade for pro features).
* Go support available with the [Go-bbpackage module](https://github.com/ascarter/go-bbpackage) including syntax highlighting, clippings, ctags standard library completion, and tools
* **[Brackets](http://brackets.io)**: a modern, open source text editor that understands web design.
* [go-ide](https://github.com/David5i6/Brackets-Go-IDE) Go support with autocompletion through gocode.
* **[Chime](https://www.chimehq.com)**: Capable. Focused. Fast. A Go editor for macOS.
* **[Eclipse IDE](https://www.eclipse.org/)**: a very popular, open-source, cross-platform IDE. [GoClipse](https://goclipse.github.io/) plugin enables Go support. This project was abandoned in 2017 and may not work with modern editions of Eclipse.
* **[Emacs](https://www.gnu.org/software/emacs/)**: Extensible and customizable text editor.
* Mode file maintained at https://github.com/dominikh/go-mode.el.
* [GoFlyMake](https://github.com/dougm/goflymake) Flymake-style syntax checking for Go
* [go-errcheck.el](https://github.com/dominikh/go-errcheck.el) Errcheck integration for Emacs
* [flycheck-metalinter](https://github.com/favadi/flycheck-gometalinter) Flycheck integration for go-metalinter utility
* [go-playground](https://github.com/grafov/go-playground) Local playground inside Emacs
* **[Gedit](https://wiki.gnome.org/Apps/Gedit)**: Official text editor for the GNOME Desktop. [Plugin for Auto-Completion and Code-Formatting available](https://bitbucket.org/fzzbt/go-gedit-plugin/).
* **[Geany](https://www.geany.org/)**: Geany is a text editor using the GTK2 toolkit with basic features of an integrated development environment. Supports Go syntax highlighting out of the box.
* **[Gocode](https://github.com/nsf/gocode)**: An autocompletion daemon that includes support for emacs and vim.
* **[godef](https://github.com/rogpeppe/godef)**: Prints the source location of definitions in Go programs. Integrates with acme, emacs, vim and SublimeText.
* **[GoLand](https://www.jetbrains.com/go/)**: JetBrains's cross-platform, [fully featured](https://www.jetbrains.com/go/features/) Go IDE (commercial). Free for students, teachers, open-source developers, and user-groups ([see details](https://www.jetbrains.com/go/buy/#edition=discounts)).
* **[Gotags](https://github.com/jstemmer/gotags)**: Generates ctags-compatible tag files
* **[GoWorks](http://tunnelvisionlabs.com/products/demo/goworks)**: [NetBeans](http://netbeans.org/) based open source Go IDE.
* **[IntelliJ IDEA Ultimate](https://www.jetbrains.com/idea/)**: Cross-platform, polyglot IDE (commercial). Free for students, teachers, open-source developers, and user-groups ([see details](https://www.jetbrains.com/idea/buy/#edition=discounts)).
* **[jEdit](http://www.jedit.org/)**: open-source, cross-platform text editor written in Java. [Syntax-highlighting file available](https://code.google.com/archive/p/go-stuff/source/default/source).
* **[joe](http://joe-editor.sourceforge.net/)**: JOE is a full featured terminal-based screen editor which is distributed under the GNU General Public License (GPL). Supports Go syntax highlighting out of the box.
* **[Kate](https://kate-editor.org/)** Kate is an advanced, cross-platform text editor developed by KDE, with Go support out-of-the-box.
* **[Komodo IDE](https://www.activestate.com/komodo-ide)** Powerful cross-platform IDE with built-in Go support
* **[Komodo Edit](https://www.activestate.com/komodo-edit)** Powerful cross-platform text editor, Go-lang support available via [plugin](https://github.com/Komodo/komodo-go)
* **[Lime Text](http://limetext.org/)**: Developed in Go, aims to be a Free and open-source software alternative to Sublime Text. Not quite ready yet but welcoming contributions to the progress. https://github.com/limetext/lime
* **[LiteIDE](https://github.com/visualfc/liteide)**: A simple, open source and cross-platform Go IDE
* **[Micro](https://micro-editor.github.io)**: A modern and intuitive terminal-based text editor written in Go
* Go language support (gofmt and goimports) via [plugin](https://micro-editor.github.io/plugins.html#c-go)
@ -43,24 +50,10 @@
* [Golang Build](https://github.com/golang/sublime-build) is the official Sublime Text package for Go build system integration.
* **[Textadept](http://foicica.com/textadept/)**: Textadept is a fast, minimalist, and remarkably extensible cross-platform text editor. Supports Go syntax highlighting out of the box.
* **[TextMate](http://macromates.com/)**: Commercial text editor for macOS. [Source code available](https://github.com/textmate/textmate) under the GPLv3. [Bundle for Go available](https://github.com/syscrusher/golang.tmbundle).
* **[Vim](http://www.vim.org/)** & **[Neovim](https://neovim.io/)**: Vi Improved. There are a number of plugins available that make editing Go code easier.
* The [vim-go](https://github.com/fatih/vim-go) plugin includes misc/vim and has many other new improvements.
* The [Syntastic](https://github.com/scrooloose/syntastic) plugin gives instant feedback on compile errors
* The [tagbar](https://github.com/majutsushi/tagbar) plugin uses Gotags, above, to show an outline of the current file
* A [vim compiler plugin](https://github.com/rjohnsondev/vim-compiler-go) for syntax checking
* A [vim-godef](https://github.com/dgryski/vim-godef) plugin integrates with the 'godef' tool, above
* A [vim-go-extra](https://github.com/vim-jp/vim-go-extra) is vim plugin based on misc/vim in go repository. This works fine on windows too!
* The [go-ide](https://github.com/plentiform/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.
* **[Visual Studio](https://www.visualstudio.com/)**: Commercial IDE by Microsoft for Windows. A [Go Language Support](https://visualstudiogallery.msdn.microsoft.com/bd7675ba-1bf5-4395-8c5a-4fc19dfc0d76) extension is available for Visual Studio 2010, 2012 and 2013 Pro, Enterprise, and Community.
* **[Visual Studio Code](https://code.visualstudio.com/)**: 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](https://github.com/golang/vscode-go) plugin.
* **[GNU Nano](http://golang.cat-v.org/text-editors/nano/)**: a simple .nanorc for GNU Nano ("pico").
* **[Zeus](http://www.zeusedit.com/go.html)**: Commercial IDE for Go (Windows or Linux with Wine).
## Cloud Based IDEs
* **[Cloud9](https://c9.io/)**: "blank" template includes go 1.7.1.
* **[Cloud9](https://aws.amazon.com/cloud9/)**: claims full Go support.
* **[Gitpod](https://gitpod.io)**: GitHub integrated cloud IDE with full Go support.
* **[Wide](https://github.com/b3log/wide)**: A Web-based <b>IDE</b> for Teams using Go programming language/Golang.
Other environments such as Xcode and Kate also had minor support checked in to the Go tree up until Go 1.3. If you want these, search the standard repository's history. Here is a link: https://github.com/golang/go/tree/release-branch.go1.3/misc