patorashのブログ

方向性はまだない

VSCodeのRemote Developmentプラグイン登場

このGWで最高のWindowsでの開発環境を作るんだ!と息巻いておりましたが、MicrosoftさんがVSCodeのRemote Developmentプラグインを発表しました。正直なところ、以下のブログを読んでいただければもう話は終わりです。

crieit.net

連休最後なのでとりあえず試してみるかーと思って試してみました。

試してみる

現在のところは、このプラグイン自体がベータ版のため、VSCode Insiders版でしか動かないので、VSCode Insiders版をインストールしました。

とりあえず、vagrant upした状態で、SSHの接続情報を出力させます。ユーザ名のところをusernameにしてますのでご注意ください。

PS > vagrant ssh-config
Host default
  HostName 192.168.100.2
  User vagrant
  Port 22
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/Users/username/sources/github.com/patorash/ansible-provisioning-ubuntu-master/.vagrant/machines/default/hyperv/private_key
  IdentitiesOnly yes
  LogLevel FATAL

VSCodeでCtrl+Shift+Pでコマンドパレットを開き、Remote-SSH: Connect to Host...を選択して接続先を表示します。ない場合、Configure SSH Hosts...が表示されるので、それを選ぶと、SSHの接続先設定ファイルを選ばされるので、私はC:\User\username\.ssh\configを指定し、上記の設定をコピペして保存しました。その後、再度Remote-SSH: Connect to Host...を行い、defaultに対して接続をすると、新しいVSCodeのウィンドウが開き、Vagrant上で動くUbuntuに接続完了です。

あとはコマンドパレットからOpen Folderでプロジェクトフォルダを開けばOK。 VSCodeのターミナルを開くと、接続先のUbuntuのターミナルが開きました。完璧です。

rails sして速度を計測してみる

VSCodeとは直接は関係ありませんが、SMBでの共有フォルダと、共有フォルダではないUbuntu上のディレクトリで、全く同じプロジェクトをrails sしてみました。springが効いた状態で、初回表示ではありませんのであしからず。何度かページを表示した平均です。

環境 時間
共有なし 0.9秒
共有あり(SMB) 5秒

こうなってくると、Windowsからファイル共有せずに、VSCodeのRemote Developmentプラグインでファイル編集したほうがサクサク開発できそうです😊やっぱりLinux上でDockerを動かすと全然違うのだな…。

Windows & Vagrant & Hyper-Vでイケてる環境は?

  • VSCode Insidersを入れてRemote Development プラグインを入れる
  • VagrantUbuntuなどを入れる
  • 仮想スイッチを作る(内部)
  • WinNAT設定を行う
  • VMにIPを設定する
  • フォルダ共有は不要

でいいんじゃないかと思います👍

やり方は前回のブログを参照のこと。

patorash.hatenablog.com

vagrantは必要?という気もしますが、VMへのSSH接続とか、プロビジョニングとかが容易になるので、使ってもいいんじゃないかなと思います。