Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 1 | # IDEs and Plugins for Go |
| 2 | |
Alan Yee | 6f0ed7f | 2018-01-17 21:49:09 -0800 | [diff] [blame] | 3 | * **[Atom](https://atom.io/)**: JavaScript-based editor from GitHub. Go support at [go-plus](https://github.com/joefitzgerald/go-plus) |
| 4 | * **[BBedit](https://www.barebones.com/products/bbedit/)**: commercial text editor for macOS. |
| 5 | * Basic Go support available with the [module](https://www.barebones.com/products/bbedit/) |
Andrew Carter | 6f6fd47 | 2015-08-21 10:37:18 -0700 | [diff] [blame] | 6 | * [Go-bbpackage](https://github.com/ascarter/go-bbpackage) with clippings, ctags standard library completion, better syntax highlighting, and tools |
Brenton Horne | 8c61702 | 2016-04-12 00:51:29 +1000 | [diff] [blame] | 7 | * **[Brackets](http://brackets.io)**: a modern, open source text editor that understands web design. |
David Sánchez i Gregori | 88cc77c | 2015-03-01 09:18:35 +0100 | [diff] [blame] | 8 | * [go-ide](https://github.com/David5i6/Brackets-Go-IDE) Go support with autocompletion through gocode. |
Daniël van Eeden | ce31dc9 | 2018-06-02 09:22:36 +0200 | [diff] [blame] | 9 | * **[Builder](https://github.com/chergert/gnome-builder)**: A toolsmith for GNOME-based applications |
| 10 | * Synatax highlighting and completion build-in. |
Alan Yee | 6f0ed7f | 2018-01-17 21:49:09 -0800 | [diff] [blame] | 11 | * **[Eclipse IDE](https://www.eclipse.org/)**: a very popular, open-source, cross-platform IDE. [GoClipse](https://goclipse.github.io/) plugin enables Go support. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 12 | * **[Emacs](https://www.gnu.org/software/emacs/)**: Extensible and customizable text editor. |
| 13 | * Mode file maintained at https://github.com/dominikh/go-mode.el. |
| 14 | * [GoFlyMake](https://github.com/dougm/goflymake) Flymake-style syntax checking for Go |
| 15 | * [go-errcheck.el](https://github.com/dominikh/go-errcheck.el) Errcheck integration for Emacs |
Alexander I.Grafov | 9c7bdef | 2017-08-19 03:17:19 +0300 | [diff] [blame] | 16 | * [flycheck-metalinter](https://github.com/favadi/flycheck-gometalinter) Flycheck integration for go-metalinter utility |
| 17 | * [go-playground](https://github.com/grafov/go-playground) Local playground inside Emacs |
Alan Yee | 6f0ed7f | 2018-01-17 21:49:09 -0800 | [diff] [blame] | 18 | * **[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/). |
| 19 | * **[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. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 20 | * **[Gocode](https://github.com/nsf/gocode)**: An autocompletion daemon that includes support for emacs and vim. |
Sergey Mudrik | 3a82381 | 2016-03-18 18:35:42 +0200 | [diff] [blame] | 21 | * **[godef](https://github.com/rogpeppe/godef)**: Prints the source location of definitions in Go programs. Integrates with acme, emacs, vim and SublimeText. |
Florin Pățan | 4f23d2f | 2018-04-23 10:18:22 +0300 | [diff] [blame] | 22 | * **[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)). |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 23 | * **[Gotags](https://github.com/jstemmer/gotags)**: Generates ctags-compatible tag files |
| 24 | * **[GoWorks](http://tunnelvisionlabs.com/products/demo/goworks)**: [NetBeans](http://netbeans.org/) based open source Go IDE. |
Florin Pățan | 4f23d2f | 2018-04-23 10:18:22 +0300 | [diff] [blame] | 25 | * **[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)). |
Alan Yee | 6f0ed7f | 2018-01-17 21:49:09 -0800 | [diff] [blame] | 26 | * **[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). |
Vasya Poteryaiko | 018a471 | 2015-10-31 16:48:16 +0200 | [diff] [blame] | 27 | * **[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. |
Corey Daley | 439d80d | 2017-04-28 12:54:18 -0400 | [diff] [blame] | 28 | * **[Komodo IDE](https://www.activestate.com/komodo-ide)** Powerful cross-platform IDE with built-in Go support |
| 29 | * **[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) |
elloworld | 96e4257 | 2015-04-23 16:53:33 -0500 | [diff] [blame] | 30 | * **[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 |
zhibinr | 525e696 | 2015-03-16 20:59:32 +0800 | [diff] [blame] | 31 | * **[LiteIDE](https://github.com/visualfc/liteide)**: A simple, open source and cross-platform Go IDE |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 32 | * **[Notepad++](http://notepad-plus-plus.org/)**: Free source code editor for Windows. |
| 33 | * [notepadplus-go](https://github.com/chai2010/notepadplus-go) Syntax highlighting, functions list panel (for code browsing), code completion for keywords & builtins. |
| 34 | * 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](https://github.com/tike/GOnpp), [binaries](http://sourceforge.net/projects/gonpp/files/)]. |
| 35 | * [GoAutocomplete](https://github.com/steve-perkins/GoAutocomplete) is another code completion plugin. |
Jianhua Li | fc45aa5 | 2018-06-01 18:16:50 +0800 | [diff] [blame] | 36 | * **[Source Insight](https://www.sourceinsight.com)**: Commercial programming editor & code browser with built-in live analysis for C, C++, C#, Java, and more; helping you understand large projects. |
Jianhua Li | 0e043c2 | 2018-05-31 23:07:33 +0800 | [diff] [blame] | 37 | * [golang.xclf](https://www.sourceinsight.com/pub/languages/golang.xclf) is a [Custom Language](https://www.sourceinsight.com/download/custom-languages/) file adding syntax formatting and some parsing support to Source Insight for Go language. |
Nathan Ostgard | eea1469 | 2017-02-26 13:07:22 -0800 | [diff] [blame] | 38 | * **[Sublime Text](http://www.sublimetext.com/)**: Commercial text editor. |
| 39 | * [GoSublime](https://github.com/DisposaBoy/GoSublime) is a plugin collection with IDE-like features available. |
| 40 | * [Golang Build](https://github.com/golang/sublime-build) is the official Sublime Text package for Go build system integration. |
Vasya Poteryaiko | 2dc9c6b | 2015-10-31 19:33:57 +0200 | [diff] [blame] | 41 | * **[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. |
Alan Yee | 6f0ed7f | 2018-01-17 21:49:09 -0800 | [diff] [blame] | 42 | * **[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). |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 43 | * **[TextWrangler](http://www.barebones.com/products/textwrangler/)**: free _little brother_ of BBedit. Both the Go module and Go.bbpackage for BBedit work for TextWrangler as well. |
Zac Pullar-Strecker | 754a06b | 2016-04-22 13:27:28 +1200 | [diff] [blame] | 44 | * **[Vim](http://www.vim.org/)** & **[Neovim](https://neovim.io/)**: Vi Improved. There are a number of plugins available that make editing Go code easier. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 45 | * The [vim-go](https://github.com/fatih/vim-go) plugin includes misc/vim and has many other new improvements. |
| 46 | * The [Syntastic](https://github.com/scrooloose/syntastic) plugin gives instant feedback on compile errors |
| 47 | * The [tagbar](https://github.com/majutsushi/tagbar) plugin uses Gotags, above, to show an outline of the current file |
| 48 | * A [vim compiler plugin](https://github.com/rjohnsondev/vim-compiler-go) for syntax checking |
| 49 | * A [vim-godef](https://github.com/dgryski/vim-godef) plugin integrates with the 'godef' tool, above |
| 50 | * 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! |
Avelino | 26af6d2 | 2017-08-02 02:20:43 -0300 | [diff] [blame] | 51 | * A [vim-bootstrap](https://vim-bootstrap.com/) is generator provides a simple method of generating a .vimrc configuration for vim |
Nathan Brown | c9adbf9 | 2015-11-11 17:24:17 -0700 | [diff] [blame] | 52 | * **[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. |
Yaroslav Schubert | cb27199 | 2016-09-15 14:53:41 +0300 | [diff] [blame] | 53 | * **[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 [vscode-go](https://github.com/Microsoft/vscode-go) plugin. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 54 | * **[GNU Nano](http://golang.cat-v.org/text-editors/nano/)**: a simple .nanorc for GNU Nano ("pico"). |
Keith Kim | 17bf066 | 2015-07-07 12:05:01 -0400 | [diff] [blame] | 55 | * **[Zeus](http://www.zeusedit.com/go.html)**: Commercial IDE for Go (Windows or Linux with Wine). |
Vasya Poteryaiko | 018a471 | 2015-10-31 16:48:16 +0200 | [diff] [blame] | 56 | |
Ali Altun | 7d1a915 | 2017-01-07 16:25:48 +0100 | [diff] [blame] | 57 | ## Cloud Base IDEs |
| 58 | |
Jacob Gadikian | c25a0e1 | 2017-03-04 05:51:25 +0700 | [diff] [blame] | 59 | Currently Wide is the only "cloud IDE" that supports go version 1.8. |
| 60 | |
Jacob Gadikian | 39db1f0 | 2017-03-04 05:57:16 +0700 | [diff] [blame] | 61 | * **[Cloud9](https://c9.io/)**: "blank" template includes go 1.7.1. |
Jacob Gadikian | 63df3a4 | 2017-03-04 05:53:48 +0700 | [diff] [blame] | 62 | * **[CodeEnv](https://codeenv.com/)**: A cloud-based IDE. Supports go1.5 out of the box, which is not something I'd describe as "[full Go support](https://codeenv.com/env/codeenv/7/go/)". |
Ali Altun | 7d1a915 | 2017-01-07 16:25:48 +0100 | [diff] [blame] | 63 | * **[Wide](https://github.com/b3log/wide)**: A <b>W</b>eb-based <b>IDE</b> for Teams using Go programming language/Golang. |
| 64 | |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 65 | |
Sergey Mudrik | 3a82381 | 2016-03-18 18:35:42 +0200 | [diff] [blame] | 66 | 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 |