TinyGo 0.15 がリリースされて、 gopls との連携が簡単になりました。
逆に言うと今までは 設定がそれなりに面倒 でした。
このページでは、 TinyGo 0.15 以降での gopls 連携の方法を VSCode
および Vim (もしくはそれ以外の LSP 対応エディタ)
に対して記載します。
注意)
以降、 wioterminal
というターゲットを例として記載します。
適宜、使いたいターゲットに読み替えてください。
VSCode
まずは、 VSCode の Extensions > TinyGo 0.2.0
をインストールします。
次に tinygo のソースコード (*.go) を開いている状態で Command palette > TinyGo targets
を実行します。
pick a target...
と表示されるので wioterminal
を選択します。
Reload を促されるので Reload します。
この時点で machine.LED
の定義が表示されていれば gols 連携は OK です。
ターゲットを切り替えたい場合は、 Command palette > TinyGo targets
を再度実行してください。
Vim (もしくはそれ以外の LSP 対応エディタ)
↓↓↓ 2021/06/14 追記 ↓↓↓
Vim + vim-lsp を使っている人は以下の記事を参照してください。
↑↑↑ 2021/06/14 追記 ↑↑↑
まずは tinygo-edit
をインストールします。
以下から実行体を DL し PATH の通った場所に置いてください。
もしくは、以下のコマンドでもインストールすることが出来ます。
$ go get github.com/sago35/tinygo-edit
その後、以下をソースコードのあるディレクトリで実行します。
エディタに合わせて少し設定が必要です。
# Vim
$ tinygo-edit --target xiao --editor vim --wait
# gVim
$ tinygo-edit --target xiao --editor gvim
# VSCode (VSCode は上記の TinyGo extensions を使ったほうが良い)
$ tinygo-edit --target xiao --editor code
この時点で machine.LED
の定義が表示されていれば gopls 連携は」 OK です。
なお、この方法で開いた vim から立ち上げた terminal では tinygo build
や tinygo flash
が出来ません。
環境変数 GOROOT が設定されているためです。
以下のようにして GOROOT の設定を削除すると tinygo build
等を実施出来るようになります。
# windows / cmd.exe の場合
$ set GOROOT=
# bash の場合
$ unset GOROOT
ターゲットを切り替えたい場合は、 tinygo-edit
を再度実行してください。