Goツールチェインを快適に開くための設定¶
チェック¶
- [ ] 本文を確認した
- [ ] 概要を確認した
- [ ] タグを確認した
- [ ]
inbox/直下へ移行した
概要¶
golang/go repository を VSCode / gopls で快適に読むための設定記事。
何も設定せずに開くと、internal/... package の解決失敗、global $GOROOT への code jump、未リリース toolchain の download 失敗が起こる。
Go 本体の実装を library と同じ感覚で追うには、workspace と toolchain の設定を整える必要がある。
本文¶
github.com/golang/go は、Go compiler や standard library を含む toolchain repository。
Go は可読性が高く、本体実装を追いやすいが、そのまま editor で開くと LSP がうまく動かないことがある。
発生する問題は次の 3 つ。
internal/...package の解決失敗- code jump が clone した repository ではなく installed global
$GOROOTへ飛ぶ go.modに記載された未リリース version の toolchain download に失敗する
特に gopls は裏で packages.Load を使うため、開いている repository を正しい GOROOT / workspace として認識させる必要がある。
未リリースの go1.27.0 のような toolchain を download しようとして失敗する場合もある。
記事は VSCode を中心に、Go 本体 repository を正しく開くための設定を説明している。 Go compiler や standard library に deep dive する準備として有用。
要点¶
golang/goは通常の Go module として開くだけでは LSP が壊れやすい。internalpackage、GOROOT jump、toolchain download が主な問題。- Go 本体を読むには editor / gopls / toolchain の設定が必要。
- Go runtime や compiler を追う人向けの環境整備メモ。