LoginSignup
30
33

More than 3 years have passed since last update.

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

Last updated at Posted at 2015-12-09

この記事は、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などが選択できるウィンドウが出るので目的のものを選択できます。


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

30
33
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
33