🐦
Goにコントリビュートするための環境をVS Codeで設定する
VS Codeの設定は下記記事の最後の方に説明がありますが、swigのインストールなど書かれていなかったため補足記事として書かせていただきます。
CLA の同意とアカウント作成
下き記事に従って進める。 または公式のガイドに従う。
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実行されブレイクポイントが止まれば環境構築完了です。
Discussion