sublime text 3でgolang開発するためのプラグインなど

More than 3 years have passed since last update.

この記事は、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"


フォーマット

保存時に自動でフォーマットをしてくれます

またフォーマットの方式を'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などが選択できるウィンドウが出るので目的のものを選択できます。


参考になる方いらっしゃったら幸いです><