GoSublime is a Golang plugin collection for the text editor SublimeText 2 providing code completion and other IDE-like features.
- code completion from Gocode
- context aware snippets via the code-completion popup to complement the existing SublimeText Go package.
- a sublime build system(ctrl+b) for gomake including support for cycling errors with F4/Shift+F4
- gotype support with errors highlighted in the editor view
- gofmt support for quickly reformatting your source to conform with the Go standards
- automatic code completion popup when you press dot(.)
-
First (if you haven't done so already) install Gocode.
-
Download GoSublime into your packages directory. You can access your package directory from within SublimeText by going to the menu
Preferences > Browse Packages...
. You can download a zipped archive or tarball on github via theDownloads
button. Alternatively (recommended), you can simply clone this repo into your packages directory . (on Linux)$ cd ~/.config/sublime-text-2/Packages $ git clone git://github.com/DisposaBoy/GoSublime
Please see USAGE.md for general usage and other tips for effective usage of GoSublime
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
. A sample settings file Packages/GoSublime/examples/GoSublime.sublime-settings.example
is provided inside the GoSublime package directory.
Note: Filenames are case-sensitive on some platforms(e.g. Linux) so the filename should be exactly GoSublime.sublime-settings
with capitalization preserved.
e.g. If you want to change the path of gocode, you can edit the gocode_cmd
setting:
"gocode_cmd": "/go/bin/gocode"
The available settings are:
-
gocode_cmd - the command that shall be called for gocode, this can be the command name e.g.
gocode
or full path to a binary e.g./go/bin/gocode
- defaultgocode
-
gofmt_cmd - the command that shall be called for gofmt, this can be the command name e.g.
gofmt
or full path to a binary e.g./go/bin/gofmt
- defaultgofmt
-
gslint_cmd - the command that shall be called for gotype, this can be the command name e.g.
gotype
or full path to a binary e.g./go/bin/gotype
- defaultgotype
-
gslint_timeout - how long to wait after the last keystroke before the command is run (in milliseconds) - default
500
The following letters are used to prefix entries in the completion list.
-
ʂ - Snippets. These snippets are provided by GoSublime and should not be confused with SublimeText's snippets. Furthermore, they are context sensitive, therefore the snippets provided in the global scope will be different to those provided in function scope.
-
ν - Variables
-
ʈ - User-defined types, structs, maps, slices, etc.
-
Ɩ - Constants
-
ƒ - Functions
-
ρ - Packages