golangにおけるLanguageServerの実装が、bingoとgolspに分かれている状態から色々あってgoplsになったようですので、早速VSCodeで使用することにしました。
 その際、goplsをインストールすることになったのですが、どうやら2バージョンあるようです。
 どちらをインストールするかは好みだと思うのですが、忘備録がてら、書いておきます。

広告

goplsとは

 bingoの開発者さんがgolspの開発に合流した結果出来上がったものです。現在公式のほうはx/tools以下に配置されています。
 なおbingoの開発者さんによるfork(もしかしたら後で公式のほうにマージする予定なのかも)もあります。enhanced goplsと書いてあるので、こちらのほうが様々な機能入りなのかもしれません。

公式gopls(golang.org/x/tools内)の導入方法

 こちらは割と簡単。go getを使います。

go get -u golang.org/x/tools/cmd/gopls

 このコマンドを実行することによりgoplsがinstallされます。

saibing(bingo作者)版goplsの導入方法

 以下のリポジトリがsaibing氏によるフォークです。

 だいたいreadmeにある手順を実行すればよいのですが、-bオプションなど分からなかったのでちょっと調べました…。
 私の理解と手順をまとめますと、

git clone -b bingo https://github.com/saibing/tools.git 展開フォルダ名

 を適当なディレクトリで実行すると、展開フォルダ名のついたフォルダの中にリポジトリのbingoブランチの内容が展開されます。
 あとは展開フォルダ名/cmd/goplsに移動してgo installをするだけです。

 なお、go modを使っている様子なので、gopath内の場所に展開する場合は、GO111MODULEはonにしておく必要があります。
 コマンドプロンプトだと確かset GO111MODULE=on、PowerShellだと$env:GO111MODULE=”on”で一時的に環境変数を切り替えることができますので、VSCodeでターミナルからのインストールも割と簡単かと思います。

その他コメントなど

 goplsについて、開発途上であることもあり、まだ少し動向は観察するべきのようです。でも、たぶんフルで機能が実装されたら、公式で提供されるのではないかしら。たのしみ。

広告

関連コンテンツと広告

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA