Go
VisualStudioCode
BashOnUbuntuOnWindows

WSL上のGO言語だとVSCodeの拡張機能では「PATHかGOROOTをアップデートして」というエラーが出る

概要

WindowsSubsystemForLinux(WSL, 旧BashOnUbuntuOnWindows)にインストールしたGolangでは、VisualStudioCode(VSCode)の拡張機能は正しく動かない模様。

もう少し詳しく

VSCodeにはGOの拡張機能が存在して、色々やってくれるので、物の本だったり諸々でインストールが推奨されています。
(何をやってくれるかは公式を参照:https://github.com/Microsoft/vscode-go)

WindowsでGO言語の環境を整える方法は、以下の2通り存在します。

  1. 公式サイトに記載された通り、Windowsにインストールする
  2. WSLにインストールする

このうち1の方法だと、どうやらちゃんとVSCodeの拡張機能は正しく動作する模様(未検証)
しかし、WSLでインストールする2の方法には拡張機能が対応していないようで、以下のようなエラーが出てしまう。

Cannot find "go" binary. Update PATH or GOROOT appropriately

どうしようもない。

拡張機能制作チームからのコメント

こちらは既にIssueがあるものの、対応方針が定まっていない模様。

There is no update as of yet. There is some talks to better support WSL in general in VS Code. When these talks solidify a bit, I'll see how we can bring over such support to the Go extension.

https://github.com/Microsoft/vscode-go/issues/926#issuecomment-331307041

雰囲気訳:
まだ対応でけてへんわ。WSLにVSCodeでどう対応していくかっちゅーのを相談中でっさかいに。ええ感じになったら、GOの拡張機能をどうするかビシっと言いまっせ。せやさかい、待っとってんか。