うちの会社ですが開発ツールは特に縛りはなく、使いたいもの使っていいよーって感じです。
社内ではVSCodeの利用率が一番高かったので、Golangの学習や開発で使ってみることにしました。
※社内の猛者達は圧倒的にVimmerですが、Vimを駆使出来るほど自分はツヨツヨエンジニアではありません・・・
また、コードの開発と実行環境ではDockerコンテナを使うことにしました。
- クラウドネイティブなインフラでは、コンテナの利用がデファクト化している
- コンテナ化した方がクラウドのメリットを大いに享受出来る
- ローカルで開発すると、不要ライブラリで環境が汚れる
- コンテナなので使い捨てや移植が容易
といった理由のためです。
環境構築
事前準備
VSCodeのインストール
Dockerのインストール
VSCode拡張機能のインストール-日本語化
VSCodeはデフォルト言語は英語です。
日本語化するには拡張機能をインストールする必要があります。
日本語化が必要な方は下記記事を参考にインストールをして下さい。
VSCode拡張機能のインストール-Remote-Containers
VSCodeの拡張機能、Remote-Containersを使用して開発環境を作ります。
Microsoft謹製の拡張機能で、Dockerコンテナ内で開発をしつつエディターはMacのネイティブのままにできます。
エディターはMac上ですが、VSCodeのTerminalはDocker Container内で動くようになります。
詳細については、下記サイトを確認して下さい。
インストール手順は以下の通りです。
VSCodeの[歯車アイコン]->[拡張機能]の順でクリックします。
検索text boxにremote - containers
と入力すると、Remote – Containersがリストに表示されるので、そのまま[インストール]をクリックします。
Remote – Containersの設定
Golang開発環境の作成
VSCodeウィンドウの下記赤枠の箇所をクリックします。
検索text boxにremote
と入力します。
すると入力候補が幾つか表示されます。
この中から、Remote-Containers: Add Development Container Configuration Files...
を選択します。
Finderのポップアップが表示されるので、開発ディレクトリを指定を求められます。
開発ディレクトリを指定し[Open]をクリックします。
再度、VSCodeウィンドウの下記赤枠の箇所をクリックし、Remote-Containers: Add Development Container Configuration Files...
を選択します。
検索text boxでgoを入力し、Goを選択します。
goと入力し表示されない場合は、Show All Definitions…を選択し、検索text boxでgoを入力すれば表示されます。
Golangのバージョン選択が表示されるので、お好みのバージョンをクリックします。
再度検索text boxが表示されますが、右横のOKをクリックします。
すると環境設定に必要なファイルが生成されます。
この状態で、
- 画面右下に表示されているポップアップウィンドウの[Reopen in Container]をクリック
- VSCodeウィンドウ左下アイコンをクリックして、Remote-Containers: Reopen Folder in Containerを選択
のいずれかを行うと、VSCodeがリロードされ、開発用コンテナの作成などが行われます。
作成が終わると、ファイル一覧に設定ファイルなどが表示されます。
VSCodeのターミナルでgo versionを叩いてみます。
表示されればRemote – Containersの設定はOKです。
Hello Worldの実行
初めてのプログラムのお約束、Hello Worldをこの環境でコーディングし実行してみます。
helloworld.go
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
とりあえず動きました!
まとめ
参考にした情報(クラメソさんのブログ)を元に見よう見真似でやってみました。
VSCodeの慣れも含め、色々と覚えたり調べることは出てくるんじゃないかなーと思います。