Visual Studio CodeのRemote DevelopmentでWSL内のGolangを書いてみる
ちょっと前(だいぶか?)Visual Studio Codeでリモートで接続して編集できる「Remote Development」が登場して気になっていました。
Visual Studio Code Remote Development
登場したときは正規のVisual Studio Codeではなく、プレビュー版?のVisual Studio Code Insidersからしか使えなかったのですが
今回は正規のVisual Studio Codeで使ってみました。
以下、簡単ですがその手順を書きたいと思います。
前提条件
Windows上にWSL(Windows Subsystem for Linux)を入れておいてください。
今回はWSL上にGolangの開発環境を用意し、WSL上のGolangのプロジェクトが編集できるかを試してみました。
手順について
1. Visual Studio CodeにRemote Developmentをインストール
コマンドパレットのInstall Extentionsに「Remote Development」と入力すると検索結果として表示されるので、インストールします。
2. Visual Studio CodeをRemoteで起動
既にWSL上にはGolangのプロジェクトが存在するものとします。
ややこしいのですが、$ bashでWSLに切り替え、WSL上ででプロジェクト直下に移動して「$ code .」を実行します。
$ code . Installing VS Code Server xxxxxxxxxxxxxxxx Downloading: 100% Unpacking: 100%
実行すると上のようになり、Visual Studio Codeが起動します。
Visual Studio Codeのタイトルバーに[WSL]と表示され、[view]-[terminal]でターミナルを軌道するとWSLに切り替わっていれば成功です。
3. Go Extentions を導入
Setup Go Development Environment with VS Code and WSL on Windows
こちらの記事を参考に、Extentisonsとして「Go Extensions」をインストールして設定します。
私の場合は既にインストール済だったので、「Go Extensions」の「Install on WSL」を行い、WSL用のもインストールしました。
4. Go toolsのインストール
Go tools that the Go extension depends on · microsoft/vscode-go Wiki · GitHub
こちらにあるコマンドをコピーして、WSLのターミナルでgo getを実行して必要なものをインストールします。
5. settings.jsonの設定
Setup Go Development Environment with VS Code and WSL on Windows
こちらにあるように、Visual Studio Codeの[file]-[preferences]-[settings]を押下してRemote[WSL]タブを選択します。
[Extentions]-[Go configuration]よりsettings.jsonを開き、先の参考サイトのような定義を追加します。
ただ私の場合は
- "terminal.integrated.shell.linux"は設定しない
- "go.formatTool"には"goimports"を指定する
- "go.gopath"、"go.goroot"は適切なものを指定する
という点を変えました。
"goimports"についてはapt-get等でWSL側にインストールする必要があります。
以上でWSLのGolangをVisual Studio Codeで開発できるようになりました。
WSL上のGolangのコードを編集してみましたが、ローカルで開発するときにようにファイル保存時のフォーマット・自動importや構文エラーの表示もできているようです。