Goの開発環境 Eclipse+GoClipse(Windows)


Goの開発環境を構築したときの手順をまとめておきます。
今回は、以下の環境を利用しています。

  • Windows 7 (64bit)
  • Go 1.4.2
  • Eclipse 4.4 (Eclipse IDE for Java EE Developers)
  • GoClipse 0.9.1

Mac OS X の場合は、こちら
Goの開発環境 Eclipse+GoClipse(Mac OS X)

Goのインストール・設定

以下より、GoのSDKをダウンロードし、インストールします。

ここでは、インストール先のディレクトリは、デフォルトの以下のパスにします。

C:\Go

環境変数の設定

Goを利用する上では、以下の環境変数を設定します。

  • GOROOT
    • Goのインストールディレクトリです。Goを自分でビルドした場合は設定が不要、など、いろいろとポリシーがあるようですが、ここでは素直にインストールディレクトリを指定します。
  • GOPATH
    • ユーザ自身のワーキングディレクトリになります。"go install"したときのパッケージのインストール先になります。"go get"でリモートパッケージを取得する場合も、この配下にパッケージが配置されるようです。

ここでは、環境変数の設定として、以下のパスを指定します。

変数名 変数値
GOROOT C:\Go
GOPATH %USERPROFILE%.go
PATH ;%GOROOT%\bin;%GOPATH%\bin;

正常にインストールできたか、バージョンを確認します。

>go version
go version go1.4.2 windows/amd64

GoGlipse のインストール・設定

前提として、JDK、Eclipse自体は、インストールされているものとします。

GoGlipseのインストール

以下のUpdateSiteから、最新版をダウンロードしてインストールします(Eclipse Marketplace で公開されているのが、なぜか古いままなので)。

GoClipseのインストールが完了したら、Eclipseのメニューから"環境設定 -> Go"と進み、以下の設定を行います。

  • GOROOT
    • 環境設定で指定した"C:\Go"を指定します。
  • GOPATH
    • %USERPROFILE%.go のパスを指定します(環境変数は使用できないので、実際のパスを指定してください)。

Goスクリプトの作成・実行

Eclipseのメニューから、"Go Project" を選択して、プロジェクトを作成します。
プロジェクトを作成すると、自動的に以下の階層が作成されます。Go標準のディレクトリ構成になります。

<project>
├─bin
├─pkg
└─src

src配下に、Goスクリプトを作成します。

src/hello/hello.go
package main

import "fmt"

func main() {
    fmt.Println("Hello world!")
}

このスクリプトを実行して、コンソールに"Hello world!"と出力されればOKですね。

もし、コンパイルエラーにはなっていないのに、実行時に、"go install: no install location for directory"というエラーが発生する場合は、Goスクリプトの配置パスが問題です。
srcディレクトリ直下にGoスクリプトを配置していると、上記のエラーが発生します。

これで、実装自体は可能になります。
gofmtなども適用されるので、自動フォーマットもされます。言語標準で、フォーマッタが備わっているのは便利ですね。

デバッグ環境の設定

Go単体では、デバッグができません。
ブレイクポイントをしかけても、ストップせずに通過してしまいます。

GDBのインストール

Goの場合、GDBを利用して、デバッグを行います。この辺りは、ちょっと手間ですね。
Windowsの場合は、MinGWを利用します。

以下のサイトから、64bit用のMinGWをダウンロードします。

Toolchains targetting Win64 / Personal Builds / mingw-builds / 4.9.2 / threads-posix / seh
のパスから、最新版をダウンロードしてください。

※32bit用では、正常に動作しないため、異なるモノをダウンロードしないように注意してください。MinGWの公式サイト(http://www.mingw.org/)では、64bit版がないため、SourceForge.net のサイトからダウンロードしています。
※解凍には、7z形式に対応したアーカイバが必要です。7-zipなどを利用してください。

解凍したら、任意のディレクトリに移動してください。
ここでは、 C:\mingw64 に配置することにしまっす。

Eclipseの設定

GDBの設定は、GoClipseの設定ではなく、C/C++の設定になります。
"環境設定 -> C/C++ -> Debug -> GDB"と進み、GDBの設定を行います。

"GDB debugger"の設定だけが必要になりますが、先ほどMinGWをインストールしたディレクトリ配下にあるGDBのパスを指定します。具体的には、"C:\mingw64\bin\gdb"になります。
これで、Goをデバッグするための環境が整いました。

デバッグの実行

早速、デバッグをしてみます。

ブレイクポイントを仕掛けてみると、指定した箇所でストップし、右上の"Variables"タブの部分に、変数の内容が出ていますね!

無事、実装からデバッグを行うGoの開発環境が整いました。