Go言語はスクリプト言語のように柔軟に記述することができますが、変数にはしっかりとした型が決まっている静的型付き言語です。静的型付き言語の良さというのは、少し大きなプログラムを作った時に発揮されます。型がはっきりしていることで、エディタの補完機能が利きやすいのです。つまり、Go言語を書くときには、Go言語に対応したツールやエディタを利用すると開発効率がぐっと上がります。そこで本稿では、快適なGo言語の開発環境についていくつかを紹介します。

どんな開発環境があるか?

本稿執筆時点で、Go言語の開発環境を整える場合、次の選択肢が候補にあがります。

  • Visual Studio Code + Go言語プラグイン
  • ATOM + Go言語プラグイン(go-plus)
  • JetBrains GoLand
  • Vim/Neovim + Go言語プラグイン(vim-go)

それぞれの開発環境で、ソースコードのカラーリング、強力なコード補完、ソースコードの自動整形などの機能が利用可能になります。ここでは、簡単なインストール方法や使い勝手などを紹介します。

Go開発にVisual Studio Codeを使う場合

Visual Studio Code(略して、VSCode)とは、マイクロソフトによって開発されているソースコードエディタです。マイクロソフトが開発しているものの、Windowsだけでなく、macOS、Linuxでも動かすことができます。人気のあるエディタで、プラグインを追加することで、様々なプログラミング言語に対応できます。

VSCodeのインストールは、こちらからできます。Windowsであればインストーラーが用意されているので、ダウンロード後ダブルクリックしたら、画面下の「次へ」ボタンを数回クリックすれば、インストールできます。macOSでは、ZIPファイル形式となっているので、アーカイブを解凍して、「Visual Studio Code」をアプリケーションディレクトリに移動します。

続いて、VSCodeにGo言語のプラグインをインストールしましょう。画面左側のバーにある[Extensions]をクリックするか、ショートカットキー[Ctrl] + [Shift] + [x]を押します。そして、マーケットプレースで、「Go」を検索し、見つかったら画面右側にある[Install]のボタンをクリックします。

  • Visual Studio CodeにGo言語のプラグインをインストール

    Visual Studio CodeにGo言語のプラグインをインストール

そして、VSCodeで、[Ctrl] + [Shift] + [p]を押して、コマンドパレットを開いて、「Go: Install/Update Tools」を検索します。いろいろなツールが出てきますが、すべてにチェックを入れて、[OK]ボタンを押してインストールします。

プログラムを書いて、[F5]キー(あるいは、メニューから[Debug > Start Debugging])を押すとGoのプログラムを実行することができます。

  • VSCodeではF5キーを押すとプログラムが実行される

    VSCodeではF5キーを押すとプログラムが実行される

上記の画面のように、簡単なプログラムを書いただけでは、それほど恩恵がありませんが、それなりの規模のプロジェクトであれば、パッケージにある関数や変数だけでなく、構造体のメンバやメソッドなどの候補が表示されるようになります。このように、サクサクとコードを記述していけるのが、静的型付のある言語の長所です。

  • VSCodeでそれなりの規模のプロジェクトを開いたところ - コード補完も快適でサクサク開発が進む

    VSCodeでそれなりの規模のプロジェクトを開いたところ - コード補完も快適でサクサク開発が進む

使用感ですが、筆者のMacBook Pro(2017)で試したところ、非常に快適に動きます。もたつくこともなくコード補完も動作します。なお、Go言語では環境変数GOPATHの設定が重要で、これが正しく設定されていないと、自作のパッケージを正しく認識してくれません。VSCodeでプロジェクト毎にGOPATHの設定を変更するには、プロジェクトに「.vscode」というフォルダを作成し、launch.json、および、setting.jsonにGOPATHを設定します。

Go開発にAtomを使う場合

Atomは、GitHubが主体となって開発しているテキストエディタです。AtomもVSCodeと同じく、プログラミング開発において、非常に人気のあるエディタです。プラグインで様々なプログラミング言語に対応できるところも同じです。

AtomのWebサイトは、こちらです。[Download]ボタンを押すと、Windowsではインストーラー、macOSではZIPファイルをダウンロードできます。Windowsでは、インストーラーをダブルクリックして指示に従っていけばインストールできます。macOSではZIPファイルを解凍し、Atomをアプリケーションディレクトリに移動します。

続いて、Go言語のプラグイン「go-plus」をインストールしましょう。Atomを起動して、Windowsでは、メニューから[File > Settings]を、macOSでは、メニューから[Atom > Preferences.. > Install]をクリックします。そして、「go-plus」を検索し[Install]ボタンをクリックします。

  • Atomでgo-plusをインストールします

    Atomでgo-plusをインストールします

その後、Go言語のプロジェクトを開くと、いくつか追加でインストールするかと質問されるので、[Yes]を選択してインストールするか、メニューから[Packages > Go > Update Tools]をクリックすることで、追加ツールをインストールできます。

  • AtomでGo言語のプログラムを作っているところ

    AtomでGo言語のプログラムを作っているところ

Atomを使う場合も、VSCodeと同様、コード補完もサクサク出ますし、快適にプログラムを記述することができます。とは言え、プラグインを導入した段階で、VSCodeと比べた場合、Go言語のプログラムを実行したり、テストを実行したりする場合には、実行ボタン(リンクボタン)のクリックで実行できるVSCodeに分配があがります。コマンドラインを中心にしてGo言語の開発をしている場合には、VSCodeもAtomもほとんど差はありません。

Go開発にGoLandを使う場合

様々なプログラミング言語の統合開発環境(IDE)を提供しているJetBrainsが生み出した、Go言語のための統合開発環境がGoLandです。今回紹介する中では、唯一の有償製品(原稿執筆時点で、1年US $199)です。

こちらから、各OSごとのインストーラーをダウンロードできます。

GoLandは有償製品だけあって至れり尽くせりです。Go言語に特化した製品なので、当然ですが特に何も設定しなくても、最初からGo言語のプロジェクトを快適に開発することができます。コード補完や定義箇所へのジャンプ、ワンクリックでテストの実行など、便利な機能が詰まっています。

  • GoLandでGo言語の開発をしているところ

    GoLandでGo言語の開発をしているところ

また、Goの開発で重要なGOPATHの設定ですが、VSCodeやAtomでは時間をかけて設定項目を探す必要がありましたが、GoLandでは普通に設定メニューから、Preferences > Go > GOPATHで手軽に変更することができました。この辺りは、さすがです。

  • GoLandeではプロジェクト毎の設定も分かりやすい

    GoLandeではプロジェクト毎の設定も分かりやすい

そして、使用感ですが、GoLandはフル仕様の統合開発環境なので、重いに違いないと思っていましたが、筆者のマシンで試したところ、引っかかる感じもなく意外にもサクサクと動作しました。IntelliJ IDEAなどJetBrains製の製品を使ったことがあるならば、ほとんど迷うことなく使いこなすことができるでしょう。

有償である点を考慮せず、機能面だけで判断するならば、これがGo開発の本命かもしれません。30日間の体験ができるので、試してみるとよいでしょう。

Go開発にVim/Neovimを使う場合

Unix系のOSで圧倒的な人気を誇るCUIのエディタVimやNeovimを使って、Go言語開発を行っている人も多くいます。もちろん、Vim/Neovimが初心者向けではないので、ここでは詳しく紹介しませんが、vim-goプラグインを導入することで、上記の統合開発環境に負けない機能を持たせることができます。

  • Neovimとvim-goプラグインを使ってGo言語の開発をしているところ

    Neovimとvim-goプラグインを使ってGo言語の開発をしているところ

まとめ

以上、今回はGo開発をさらに便利にする開発環境について紹介しました。Go言語の文法はシンプルなので、別途、開発環境を用意しなくても、それほど困らず開発できます。しかし、Goに特化した開発環境を利用することで、コード補完や自動フォーマットなどが可能で、サクサクとプログラムを記述できるようになります。

筆者のオススメは、最初に取り上げたVSCodeなのですが、いずれのツールも甲乙付けがたい状態です。いずれも、それほど導入が大変というわけではにので、どれが手になじむのか実際に試してみるとよいでしょう。

自由型プログラマー。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。代表作に、日本語プログラミング言語「なでしこ」 、テキスト音楽「サクラ」など。2001年オンラインソフト大賞入賞、2004年度未踏ユース スーパークリエータ、2010年 OSS貢献者章受賞。技術書も多く執筆している。