VS Code Remote のWSL接続を試した
はじめに
5/2にリリースされたInsiders版でVS Code Remoteなる機能が搭載されました *1 。これはVS CodeからSSH等で外部の端末に接続しVS Codeそのものの実行環境とは別の環境を統合して扱うことができる、というものになります。
公式の手順にWSL版があったので試してみました *2 。
これまでのリモートツールとの違い
単なるファイルアクセスだけでなく、拡張機能もリモートで動作させることができるためローカルにインストールされていなかったり、特定のOSでしか動かないものでも上手く動作させることができるのが革新的なポイントでしょう。
なおWSLでは通常 /mnt/<drive letter>
配下以外のファイルをWindows側から操作するとファイルが破壊されてしまう問題がありましたが *3 、この拡張を通してファイルを操作する限りその制限はありません。
前提条件
- WSL本体がインストール済みであること
- デフォルトディストリビューションが使われるため必要があれば変更して下さい *4
- WSL内部で実行したいプログラミング言語の環境がインストール済みであること
- 今回はGolangを例とします
手順
VS Code Insiders版のインストール
公式サイト *5 からダウンロードしてインストールします。特に難しいことは無く「次へ」連打で問題無いはずです。既存のVS Codeとは別アプリとしてインストールされるため、干渉して環境が破壊されるというようなことはありません。
本体のインストールが終わったら下記画像のように拡張機能 *6 をインストールして下さい。
ここまで終わったら一度VS Codeを閉じます。
VS Code Serverのインストール
WSLを開きどのディレクトリでもいいので(今回はホームにしました) code-insiders .
とタイプするとサーバーのインストールが自動的に始まりますので終わるまでしばらく待ちます。
$ code-insiders . Installing VS Code Server 473af338e1bd9ad4d9853933da1cd9d5d9e07dc9 Downloading: 100% Unpacking: 100% $
完了すると自動的にVS Codeが起動し、左下の緑色の部分を見るとWSLに接続しホームが開けていることがわかるかと思いますので後は好きなようにファイルを開き編集して下さい。この状態で拡張をインストールするとVS Codeの動作しているWindowsとは別枠で管理されているのがわかるでしょう。
動作確認
Hello, Worldを試してみました。上手く動いています。リモートで動いているため、オートコンプリート等もバッチリです。
参考文献
*1:Remote Development with VS Code
*2:Developing in the Windows Subsystem for Linux with Visual Studio Code
*3:Bash on WindowsでWindows側からUbuntu側のファイルをいじると壊れることがあるので注意
*4:Getting started - Installation
*5:Download Visual Studio Code Insiders
*6:Visual Studio Code Remote Development Extension Pack - Preview