A Golang plugin collection for SublimeText **3**, providing code completion and other IDE-like features.
Go Python
Latest commit 241030c Feb 16, 2017 @DisposaBoy ann
Failed to load latest commit information.
articles * misc cleanup Jul 17, 2013
doc fix formatting Jul 18, 2013
gosubl ann Feb 16, 2017
settings * add comment setting fixes #298 Jul 14, 2013
something_borrowed * miss-renamed Jul 26, 2013
src/disposa.blue Update gocode Feb 16, 2017
ss - add 2 screenshots Jan 28, 2012
syntax * close #416 Dec 21, 2013
.gitignore add initial support for margo extensions May 7, 2016
.no-sublime-package ? Jul 20, 2013
9o.hidden-tmLanguage * misc tweaks; fixes #180 Mar 25, 2013
9o.hidden-tmLanguage.json * misc tweaks; fixes #180 Mar 25, 2013
9o.md * clarify the interaction between the pre-defined env vars and the us… Jun 30, 2013
AUTHORS.md Update AUTHORS.md Dec 16, 2013
CHANGELOG.md ann Feb 16, 2017
Default (Linux).sublime-keymap ... Dec 26, 2013
Default (Linux).sublime-mousemap * track mouse clicks globally Dec 27, 2012
Default (OSX).sublime-keymap ... Dec 26, 2013
Default (OSX).sublime-mousemap * track mouse clicks globally Dec 27, 2012
Default (Windows).sublime-keymap ... Dec 26, 2013
Default (Windows).sublime-mousemap * track mouse clicks globally Dec 27, 2012
GoSublime-next.tmLanguage * add fallbacks for the old syntax files Jun 30, 2013
GoSublime.py Sublime Text 2 is no longer supported Apr 22, 2016
GoSublime.sublime-build * make build_command configurable Feb 3, 2013
GoSublime.sublime-commands add command to create and open a default extension package May 7, 2016
GoSublime.sublime-settings fallback to internal fmt if fmt_cmd fails May 3, 2016
GoSublime.tmLanguage * add fallbacks for the old syntax files Jun 30, 2013
GoSublime.tmLanguage.json Rename new tmLanguage file. May 6, 2013
GsDoc.hidden-tmLanguage * rename tmlanguage files to remove them the menus Jan 25, 2013
LICENSE.md - misc Jul 7, 2012
Main.sublime-menu * fix opening the wrong error log Jun 29, 2013
Preferences.sublime-settings - add global prefs... add dot(.) to trigger autocompletion Apr 24, 2012
README.md ann May 7, 2016
SUPPORT.md ann May 7, 2016
THANKS.md Add Sander van Harmelen Mar 8, 2014
USAGE.md Cleaning USAGE.md Aug 31, 2013
gs9o.py add margo-reinstall 9o command to reinstall the binary in-place Apr 28, 2016
gscommands.py add command to create and open a default extension package May 7, 2016
gscomplete.py * close #457: make caltips more like func decls Jan 26, 2014
gsdoc.py add struct fields to the declarations palette May 1, 2016
gsev.py import gslint and gstest relatively to avoid Python's BS Apr 4, 2016
gslint.py * handle <stdin> special-case Mar 3, 2013
gspalette.py guard against exception when the pkg name is unknown Apr 29, 2016
gssynforce.py :| Jun 30, 2013
gstest.py close #459 Jan 21, 2014




GoSublime is a Golang plugin collection for the text editor Sublime Text providing code completion and other IDE-like features. Only Sublime Text 3 is supported.

Before using GoSublime you should read and understand SUPPORT.md


  • code completion from Gocode
  • context aware snippets via the code-completion popup to complement the existing SublimeText Go package.
  • sublime build system(ctrl+b) integrating with GoSublime 9o command prompt
  • lint/syntax check as you type
  • quickly jump to any syntax error reported (and jump back to where you were before (across files))
  • quickly fmt your source or automatically on save to conform with the Go standards
  • easily create a new go file and run it without needing to save it first (9o replay)
  • share your snippets (anything in the loaded file) on play.golang.org
  • list declarations in the current file
  • automatically add/remove package imports
  • quickly jump your import section(automatically goes to the last import) where you can easily edit the pkg alias and return to where you were before
  • go to definition of a package function or constant, etc.
  • show the source(and thus documentation) of a variable without needing to change views



It is assumed that you have a working installation of Git and know how to use it to clone and update repositories.

Run the command git clone https://github.com/DisposaBoy/GoSublime from within the Sublime Text Packages directory. The location of your Sublime Text Packages directory can be found by clicking the menu: Preferences > Browse Packages....


Please see USAGE.md and 9o.md for general usage and other tips for effective usage of GoSublime

NOTE GoCode is entirely integrated into GoSublime/MarGo. If you see any bugs related to completion, assume they are GoSublime's bugs and I will forward bug reports as necessary.


You can customize the behaviour of GoSublime by creating a settings file in your User package. This can be accessed from within SublimeText by going to the menu Preferences > Browse Packages.... Create a file named GoSublime.sublime-settings or alternatively copy the default settings file Packages/GoSublime/GoSublime.sublime-settings to your User package and edit it to your liking.

Note: File names are case-sensitive on some platforms (e.g. Linux) so the file name should be exactly GoSublime.sublime-settings with capitalization preserved.

Copyright, License & Contributors

GoSublime and MarGo are released under the MIT license. See LICENSE.md

GoSublime is the copyrighted work of The GoSublime Authors i.e me (https://github.com/DisposaBoy/GoSublime) and all contributors. If you submit a change, be it documentation or code, so long as it's committed to GoSublime's history I consider you a contributor. See AUTHORS.md for a list of all the GoSublime authors/contributors.


GoSublime has received support from many kind individuals and as a thank you I've added most to THANKS.md file as a way of saying Thank You. Some donors donated anonymously and so are not listed, however. If you have donated and would like to add an entry to this file, feel free to open a pull request.