概要
今回作成したテンプレートを使うと、ローカル環境を汚すことなく、コード補完、静的解析、デバッグ等のGoの開発ツールの恩恵を受けつつGinアプリケーションを開発できる環境を構築できます。
コード内容は以下のリポジトリより確認できます。
構築される環境
- Go 1.18
- Gin
- air
- gopls, staticcheck, dlv等のGo開発ツール
動作環境
- Docker
- VSCode
- Remote - Conatainers (VSCodeの拡張機能)
使用方法
- Open Folder in Conatainerをクリック
- コンテナのビルドが完了したらターミナルを開いて
air
と入力
上記手順が完了すると localhost:8080
にてサンプルコードのJSONが表示されます。
以降はairがホットリロードを行ってくれますので、変更内容が自動で反映されます。
実際のアプリケーションのテンプレートとして使う場合はパッケージのネームスペースを変えるなりしてお好きに使っていただければ。
devcontainerで使用することを前提としておりますが、手動でイメージをビルドしてコンテナを立ち上げて使うこともできます。
※alpineベースだと glibc
の仕様が異なり動作しない拡張機能が存在するようですのでイメージ軽量化を行う場合はご注意を。
Note: When using Alpine Linux containers, some extensions may not work due to glibc dependencies in native code inside the extension.