🐦

Goにコントリビュートするための環境をVS Codeで設定する

2022/09/06に公開

VS Codeの設定は下記記事の最後の方に説明がありますが、swigのインストールなど書かれていなかったため補足記事として書かせていただきます。

CLA の同意とアカウント作成

下き記事に従って進める。
https://ema-hiro.hatenablog.com/entry/2021/12/07/000040
または公式のガイドに従う。
https://go.dev/doc/contribute

Contributionはせずに手元でソースからGoを動かしたいだけであれば、GitHubからクローンしてくるでも良いです。

Goの最新ソースをクローンしてくる

CLA の同意とアカウント作成を行なった場合

$ git clone https://go.googlesource.com/go

GitHubからクローンする場合

# SSH
$ git clone git@github.com:golang/go.git
# HTTPS
$ git clone https://github.com/golang/go.git

Goのテストとビルド実行

公式ガイドラインに従って行います。
※環境によりますが15分くらいかかります。

$ cd go/src
$ ./all.bash

go/bin以下にGoのバイナリが生成されます。

VS Codeで最新Goの開発環境を整える

Goのrepositoryをvscodeで開きます。

$ cd go
$ code .

go/.vscode/settings.jsonを作成し、ソースからビルドしたGoを使用するように指定する。

{
	"go.goroot": "Goのrepositoryの絶対path",
	"gopls": {
		"build.experimentalWorkspaceModule": true // go.modがプロジェクトルートにない場合にはtrueにする必要がある
	}
}

swigのエラーが出る場合

私の場合はローカルにswigを入れていないためVS Codeでエラーが出ていました。

Macなので下記コマンドでswigを入れましたが、Windowsなどの場合でもインストール後PATHを通せば問題ないはずです。

brew install swig

swig入れた後はmisc以下のみがエラーとなっておりましたが、misc/swig/stdio/file_test.goをVS Codeでデバッグ実行できたので問題なさそうです。

テストをdebug実行してみる

src/errors/errors_test.goを開き、TestNewEqualにブレイクポイントを貼った上で、debug testを実行します。

テストがdebug実行されブレイクポイントが止まれば環境構築完了です。

GitHubで編集を提案

Discussion