blob: 711c7bf4c7e0d613612523cd33276d56a449a86a [file] [log] [blame] [view]
Andrew Gerrand5bc444d2014-12-10 11:35:11 +11001# IDEs and Plugins for Go
2
Brenton Horne8c617022016-04-12 00:51:29 +10003 * **[Atom](http://www.atom.io)**: JavaScript-based editor from GitHub. Go support at [go-plus](https://github.com/joefitzgerald/go-plus)
Andrew Gerrand5bc444d2014-12-10 11:35:11 +11004 * **[BBedit](http://www.barebones.com/products/bbedit/)**: commercial text editor for OS X.
5 * Basic Go support available with the module http://pine.barebones.com/extensions/Go.plist.zip
Andrew Carter6f6fd472015-08-21 10:37:18 -07006 * [Go-bbpackage](https://github.com/ascarter/go-bbpackage) with clippings, ctags standard library completion, better syntax highlighting, and tools
Brenton Horne8c617022016-04-12 00:51:29 +10007 * **[Brackets](http://brackets.io)**: a modern, open source text editor that understands web design.
David Sánchez i Gregori88cc77c2015-03-01 09:18:35 +01008 * [go-ide](https://github.com/David5i6/Brackets-Go-IDE) Go support with autocompletion through gocode.
Brenton Horne8c617022016-04-12 00:51:29 +10009 * **[Eclipse IDE](http://www.eclipse.org/)**: a very popular, open-source, cross-platform IDE. [GoClipse](https://goclipse.github.io/) plugin enables Go support.
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110010 * **[Emacs](https://www.gnu.org/software/emacs/)**: Extensible and customizable text editor.
11 * Mode file maintained at https://github.com/dominikh/go-mode.el.
12 * [GoFlyMake](https://github.com/dougm/goflymake) Flymake-style syntax checking for Go
13 * [go-errcheck.el](https://github.com/dominikh/go-errcheck.el) Errcheck integration for Emacs
aclissold6996e6d2014-12-12 07:02:07 -080014 * **[Gedit](http://projects.gnome.org/gedit/)**: Official text editor for the GNOME Desktop. [Plugin for Auto-Completion and Code-Formatting available](https://bitbucket.org/fzzbt/go-gedit-plugin/).
Vasya Poteryaikoe82c1b52015-10-31 16:52:37 +020015 * **[Geany](http://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 Gerrand5bc444d2014-12-10 11:35:11 +110016 * **[Gocode](https://github.com/nsf/gocode)**: An autocompletion daemon that includes support for emacs and vim.
Sergey Mudrik3a823812016-03-18 18:35:42 +020017 * **[godef](https://github.com/rogpeppe/godef)**: Prints the source location of definitions in Go programs. Integrates with acme, emacs, vim and SublimeText.
Grant Timmermanb6fb5d82016-12-15 21:46:24 -080018 * **[Gogland](https://www.jetbrains.com/go/)**: Jetbrains Golang IDE
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110019 * **[Gotags](https://github.com/jstemmer/gotags)**: Generates ctags-compatible tag files
20 * **[GoWorks](http://tunnelvisionlabs.com/products/demo/goworks)**: [NetBeans](http://netbeans.org/) based open source Go IDE.
Florin Patanfc1317e2016-01-20 11:32:48 +010021 * **[IntelliJ IDEA](http://www.jetbrains.com/idea/)**: Commercial cross-platform IDE, [free Community Edition available](http://www.jetbrains.com/idea/download/index.html). [Open-Source plugin for Go](https://plugins.jetbrains.com/plugin/?id=5047) support available. All derivative platforms of IntelliJ (PyCharm, PhpStorm et al.) are supported. Nightly / alpha builds available at [plugin repository](https://github.com/go-lang-plugin-org/go-lang-idea-plugin)
Brenton Horne8c617022016-04-12 00:51:29 +100022 * **[jEdit](http://www.jedit.org/)**: open-source, cross-platform text editor written in Java. [Syntax-highlighting file available](http://code.google.com/p/go-stuff/source/browse/editors/jEdit/go.xml).
Vasya Poteryaiko018a4712015-10-31 16:48:16 +020023 * **[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.
Jason Buberelb442e972015-09-20 10:21:05 -070024 * **[Komodo IDE](http://komodoide.com/go/)** Powerful cross-platform IDE with built-in Go support
Kiswono Prayogodce10232015-07-19 03:46:05 +070025 * **[Komodo Edit](http://komodoide.com/komodo-edit/)** Powerful cross-platform text editor, Go-lang support available via [plugin](https://github.com/Komodo/komodo-go)
elloworld96e42572015-04-23 16:53:33 -050026 * **[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
zhibinr525e6962015-03-16 20:59:32 +080027 * **[LiteIDE](https://github.com/visualfc/liteide)**: A simple, open source and cross-platform Go IDE
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110028 * **[Notepad++](http://notepad-plus-plus.org/)**: Free source code editor for Windows.
29 * [notepadplus-go](https://github.com/chai2010/notepadplus-go) Syntax highlighting, functions list panel (for code browsing), code completion for keywords & builtins.
30 * 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/)].
31 * [GoAutocomplete](https://github.com/steve-perkins/GoAutocomplete) is another code completion plugin.
Nathan Ostgardeea14692017-02-26 13:07:22 -080032 * **[Sublime Text](http://www.sublimetext.com/)**: Commercial text editor.
33 * [GoSublime](https://github.com/DisposaBoy/GoSublime) is a plugin collection with IDE-like features available.
34 * [Golang Build](https://github.com/golang/sublime-build) is the official Sublime Text package for Go build system integration.
Vasya Poteryaiko2dc9c6b2015-10-31 19:33:57 +020035 * **[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.
Nathan Youngmandd11f662016-02-04 00:36:32 -070036 * **[TextMate](http://macromates.com/)**: Commercial text editor for OS X. [Source code available](https://github.com/textmate/textmate) under the GPLv3. [Bundle for Go available](https://github.com/syscrusher/golang.tmbundle).
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110037 * **[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-Strecker754a06b2016-04-22 13:27:28 +120038 * **[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 Gerrand5bc444d2014-12-10 11:35:11 +110039 * The [vim-go](https://github.com/fatih/vim-go) plugin includes misc/vim and has many other new improvements.
40 * The [Syntastic](https://github.com/scrooloose/syntastic) plugin gives instant feedback on compile errors
41 * The [tagbar](https://github.com/majutsushi/tagbar) plugin uses Gotags, above, to show an outline of the current file
42 * A [vim compiler plugin](https://github.com/rjohnsondev/vim-compiler-go) for syntax checking
43 * A [vim-godef](https://github.com/dgryski/vim-godef) plugin integrates with the 'godef' tool, above
44 * 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!
Nathan Brownc9adbf92015-11-11 17:24:17 -070045 * **[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 Schubertcb271992016-09-15 14:53:41 +030046 * **[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 Gerrand5bc444d2014-12-10 11:35:11 +110047 * **[GNU Nano](http://golang.cat-v.org/text-editors/nano/)**: a simple .nanorc for GNU Nano ("pico").
Keith Kim17bf0662015-07-07 12:05:01 -040048 * **[Zeus](http://www.zeusedit.com/go.html)**: Commercial IDE for Go (Windows or Linux with Wine).
Vasya Poteryaiko018a4712015-10-31 16:48:16 +020049
Ali Altun7d1a9152017-01-07 16:25:48 +010050## Cloud Base IDEs
51
Jacob Gadikianc25a0e12017-03-04 05:51:25 +070052Currently Wide is the only "cloud IDE" that supports go version 1.8.
53
Jacob Gadikian39db1f02017-03-04 05:57:16 +070054 * **[Cloud9](https://c9.io/)**: "blank" template includes go 1.7.1.
Jacob Gadikian63df3a42017-03-04 05:53:48 +070055 * **[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 Altun7d1a9152017-01-07 16:25:48 +010056 * **[Wide](https://github.com/b3log/wide)**: A <b>W</b>eb-based <b>IDE</b> for Teams using Go programming language/Golang.
57
Andrew Gerrand5bc444d2014-12-10 11:35:11 +110058
Sergey Mudrik3a823812016-03-18 18:35:42 +020059Other 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