30 Apr 2016 - by 'Maurits van der Schee'
Go, a programming language (by Google), is now supported by Visual Studio Code (by Microsoft). It has step-by-step debugging support thanks to the Delve debugger. I am very impressed with Visual Studio Code and it's support for the Go language. I am running Ubuntu 16.04 and everything worked flawless and even when I was missing some packages Visual Studio Code nicely informed me how to solve this.
First we install Go and set the GOPATH variable in the "
sudo apt-get install golang mkdir go export GOPATH=$HOME/go echo 'export GOPATH=$HOME/go' >> .bashrc
In the last line we make sure that next time we login the GOPATH is set properly.
Now download and install Visual Studio Code using:
wget --content-disposition https://go.microsoft.com/fwlink/?LinkID=760868 sudo dpkg -i vscode-amd64.deb
After that we install the dependencies for the go extension:
go get -u github.com/rogpeppe/godef go get -u github.com/golang/lint/golint go get -u github.com/derekparker/delve/cmd/dlv go get -u github.com/tpng/gopkgs
Now we can start Visual Studio Code and press
Ctrl-Shift-P and type "
ext install Go" to install the extension. You are ready! Open your Go project and be amazed!
Atom is another popular editor nowadays and it also has Go support. To install a whole set of Go related packages it is enough to just search and install the package "go-plus". In Atom you click "Edit", then "Preferences", then "Install" and you type "go-plus", press enter to search and click the blue "Install" button.
In order to make this work I had to manually set the GOPATH environment variable in Atom. I had to click: "Edit", then "Init Script...", this opens "init.coffee" in which I added the line:
process.env['GOPATH'] = '/home/maurits/go'
After installation it was working, but running and debugging was not integrated and was still to be done from the command line. This is not a problem for me, but the Visual Studio Code experience was smoother.
I tried it (even the new version X29) and I did not like it as much as the above two editors. Mainly because I cannot get used to the weird GUI that the program has. As a positive point I can mention that it is a very light weight IDE (as the name already suggests).