case
30Mar/123

Setting up a IDE to play with GO on Windows

Gordon Google Gos Mascot 150x150 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 ( icon razz Setting up a IDE to play with GO on Windows )

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.

Comments (3) Trackbacks (1)
  1. 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 CompatibilityMy Profile

  2. The Zeus editor has support for the Go language – http://www.zeusedit.com/go.html

    The latest version also adds Go language intellisense.


Leave a comment


*

CommentLuv badge