Setting up a IDE to play with GO on Windows
This week Google launched Go, an open source programming language that seems really promising. I've been messing around with the weekly builds but now the Windows build is production ready so here we go.
After downloading and installing the package, the next obvious step was to look for a IDE. There are few choices out there but after trying almost all of them nothing really worked as I've expected. The only one that raised to my expectation was Sublime Text 2 + some 3th party plugins to really have it going.
Ok. So now let's make it happen.
1. Install Go
First thing first. If you didn't already installed it, this is the first step.
Go to http://code.google.com/p/go/downloads/list?q=OpSys-Windows+Type%3DInstaller and download the appropriate package for your machine.
2. Install Sublime Text 2
Sublime Text is a commercial product but it can be used for evaluation purposes. So go and download it from http://www.sublimetext.com/2. Again, choose 32 or 64 bit version.
The last build available on their website already has syntax highlighting for .go files so ... yey
3. Install 3th party libraries and plugins for Sublime Text
This is a lengthy one but without this you just have a new text editor on your computer that can do syntax highlighting to .go files. If that is enough for you then stop here. If not let's get busy.
First you need Sublime Package Control. To install it, open up Sublime Text, press ctrl+`
to bring up the console and paste the following:
import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'
Restart Sublime Text. Now you need to bring up the command palette with ctrl+shift+p
and start typing Package Control: Install Package then press return or click on that option to activate it. You will be presented with a new Quick Panel with the list of available packages. Type GoSublime and press return or on its entry to install GoSublime.
Now you have code completion and other IDE-like features provided by GoSublime. There is one more really helpful plugin you should install.
If you have Git installed then open up a cmd
, and type
cd %APPDATA%\Sublime Text 2\Packages\
git clone git://github.com/mkrautz/goimport.git GoImport
If you don't have Git then you must download GoImport and extract the zip file in a new folder at %APPDATA%\Sublime Text 2\Packages\GoImport
Now in Sublime Text, go in the menu at Preferences -> Key Bindings - User and between the [] add the following bindings, so your file will look something like this:
[
{ "keys": ["f1"], "command": "prompt_go_import" },
{ "keys": ["f2"], "command": "prompt_go_drop" }
]
This will bind the F1
and F2
keys to popup the go import dialog which will allow you to add from anywhere you are in your file libraries to the top import block.
4. Adding new run/build system
Using Package Control (just like you installed GoSublime) look for and install Go Build. For alternative install informations and other usage and descriptions then go to git.
This will bind F5
key to execute your code and F7
to build your executable and Ctrl-F5
to run your tests.
All done. Now for the final step...
5. Learn GO
- How to write GO code (need to know)
- Tour of GO (kick ass tutorial)
- Effective GO (tips on writing clear, idiomatic Go code)
- Let's learn GO (book)
- Golang nuts mailing list (awesome support)
- Google Search ( :P )
Hope this helps, I don't know myself much more than this yet. If you find something cool please share it with me too. Cheers and happy coding.
April 5th, 2012 - 10:12
Thanks for this, I had no idea Sublime was this flexible (never even heard about Package Control before!). Actually gives me a good reason to switch from ssh+vim on my netbook to just outright using this, since it actually performs well even with limited RAM. Thanks again! :)
Adam recently posted..C#, Attributes, Reflection and Backwards Compatibility
April 5th, 2012 - 10:30
I’ve just made a plugin for ST2 to help with GO projects. You can use it to create the Go project structure in a click and have the Build/Run/Test commands embedded. Before running the project, the GOPATH is set for the project of the file you have opened. The repository is here: https://github.com/cthackers/SublimeGoBuild but should be available shortly via Sublime Package Control
admin recently posted..Setting up a IDE to play with GO on Windows
May 17th, 2012 - 15:13
The Zeus editor has support for the Go language – http://www.zeusedit.com/go.html
The latest version also adds Go language intellisense.