この記事は、2015年のAdvent Calendar Go その2の9日目の記事です。
最近乗り遅れまいとgolangをさわり始めました。
普段使っているエディタがsublime textなので、sublime textでgolangの開発をする際に入れたプラグイン等を書こうと思います。
GoTools
ironcladlou/GoTools
Package Control GoTools
GoSublimeが定番っぽいのですが更新が止まっているようなので、似たような総合パッケージのGoToolsを使っています。
主な機能は、
- フォーマット
- 自動補完
- 関数などの宣言元へのジャンプ
- build関連
になります。
GoToolsインストール,初期設定
必要なライブラリをイントール後、いつも通りなPackage Controlからインストールします。
- 必要な外部ライブラリをインストール
go get -u -v github.com/nsf/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v golang.org/x/tools/cmd/goimports
go get -u -v golang.org/x/tools/cmd/oracle
go get -u -v golang.org/x/tools/cmd/gorename
その後、Preferences > Package Control: Install Package
からGoToolsをインストールします
インストール後、初期設定としてgopathの設定が必要です。
Preferences > Package Settings > GoTools > Settings - Users
に↓的なgopathを設定します。
"gopath": "/home/hoge/go"
自分のgopathは、以下で確認できます。
go env GOPATH
フォーマット
保存時に自動でフォーマットをしてくれます
またフォーマットの方式を'gofmt', 'goimports', 両方から選択できます
先ほどの、Preferences > Package Settings > GoTools > Settings - Userに
"format_backend": "both"
と設定するとgoimportsしてからgofmtするので、
不要なimportがあったら削除、importが不足していたら勝手に追加してくれます。
関数などの宣言元へのジャンプ
キーバインディングを設定すれば、宣言元へジャンプしてくれます
Preferences > Key Bindings - Userに下記のように設定すれば宣言元へジャンプしてくれます。
ありがたい・・・
{"keys": ["ctrl+g"], "command": "gotools_goto_def"},
Golang Build
build関連もGoToolsでsublime text上からできるのですが、公式のbuildパッケージがあるのでそちらを使用しています。
Package Control Golang Build
golang/sublime-build
インストールはいつも通り
Preferences > Package Control: Install PackageからGolang Buildを選択してインストールするだけです。
合わせて、こちらにも初期設定としてgopath等を、
Preferences > Package Settings > Golang Config > Settings - Userに設定します。
{
"GOPATH": "/home/hoge/go",
"PATH:": "/home/hoge/go/bin"
}
なんらかキーバインディングを設定するのでもよいですが、
デフォルトならTools > Build System でgoを選択後、
macに場合、
command + b でbuild実行。
command + shift + b でrun,testなどが選択できるウィンドウが出るので目的のものを選択できます。
参考になる方いらっしゃったら幸いです><