ATOM で Go

今回もまた横道に逸れてツールの話。 ATOM エディタで Go 言語のコーディング環境を整える。 環境を作る度に「どうだったっけ」とあちこちサイトを巡るので,覚え書きとしてまとめておく。

例によって Windows 環境を前提にしているので,他の環境の方は適当に脳内補完してください。

  • 2016年3月: go-plus バージョン 4 以降で大きく構成が変わったので改訂した
  • 2017年12月: go-plus がかなり大きく変わってるので改訂

go-plus パッケージの導入

現在は go-plus パッケージにより Go 言語用の支援ツール(alecthomas/gometalinter 他)を含めて一括で導入・管理できる。 go-plus パッケージ自身の導入については ATOM の Settings 画面(ctrl+, で起動)で Install してもいいし apm コマンドでも可能である。

$ apm install go-plus

go-plus から以下のパッケージの導入も勧められる。 こちらもお好みでどうぞ。

あらかじめ Go 言語支援ツール用に環境変数 GOPATH の設定を済ませておくこと。 また %GOPATH%/bin フォルダに PATH を通しておくこと。

go-plus パッケージの設定

go-plus には支援ツールごとに設定項目がいくつかあるが,ほとんど既定値のままで使える。 たとえばフォーマッタの設定画面は以下のようになっている。

settings for gofmt@go-plus (ATOM)
settings for gofmt@go-plus (ATOM)

コマンドパレットからも機能を呼び出しできる。

menu for go-plus (ATOM)
menu for go-plus (ATOM)

シンボルの定義元へジャンプする

定義元へのジャンプと復帰は ctrl-alt-g および ctrl-alt-shift-G にバインドされているが, alt キーは個人的に使いにくいので,以下のように割り当て直した。

Keystroke Command Selector
f12 golang:godef atom-text-editor[data-grammar~="go"]:not([mini])
shift-f12 golang:godef-return atom-text-editor[data-grammar~="go"]:not([mini])

具体的には %USERPROFILE%\.atom\keymap.cson に以下の記述を追加する。

'atom-text-editor[data-grammar~="go"]:not([mini])':
  'f12': 'golang:godef'
  'shift-f12': 'golang:godef-return'

なお hyperclick パッケージがあればマウス操作で定義元へジャンプできる。 まぁ,コーディング中は殆どマウスは使わないだろうけど。

language-go パッケージは同梱済み

language-go は Core パッケージに入っているためインストール時点で既に入っている1language-go の機能で目を引くのはやはり snippets だろう。 以下はその一部(パッケージの Settings に一覧がある)。

Snippets for golang (ATOM)
Snippets for golang (ATOM)

こんなよぅけ覚えれるか! まぁとりあえず,よく使うものだけ覚えておけばいいのだろうけど。

使い方は,トリガーとなる文字列を入力して tab キーを押す。 たとえば func と入力して tab キーを押すと

func ()  {

}

と展開される。 iferr なら

if err != nil {
    return
}

となる。

なお go-signature-statusbar パッケージがあれば snippets の入力支援をしてくれるので,多少は気楽にできるかも。

ブックマーク

Go 言語に関するブックマーク集はこちら


  1. language でインストール済みパッケージを検索するとメジャーな言語は大抵入っているのが分かる。 [return]