コンテンツにスキップ

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 つ。

  1. internal/... package の解決失敗
  2. code jump が clone した repository ではなく installed global $GOROOT へ飛ぶ
  3. 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 が壊れやすい。
  • internal package、GOROOT jump、toolchain download が主な問題。
  • Go 本体を読むには editor / gopls / toolchain の設定が必要。
  • Go runtime や compiler を追う人向けの環境整備メモ。

タグ

go #gopls #compiler #vscode #toolchain