VS Code Remote Development、3種の違い

晦日ですが、ブログ書いてますw

Visual Studio大好きマンなので、ArduinoのコーディングでもVisual Studioで書いて、Arduino IDEコンパイルという使い方をしています。
VS Codeは使い慣れていないので、それほど使用しないのですが、、、VS CodeのRemote Development拡張だけは便利すぎて、メッチャ多用しています。

これ、Remote-SSH, Remote-Containers, Remote-WSLの3つがパックになった拡張なのですが、それぞれの使い分けが少しわかりにくいので図を書きました。

これがRemote Developmentの図だ!

f:id:matsujirushix:20201231165612p:plain

Remote-SSHは、SSHトンネルを経由してリモートマシンの中を操作できます。
Remote-WSLは、WSLのディストリビューションの中を操作できます。これはローカルマシンの~になります。
Remote-Containersは、Dockerコンテナの中を操作できます。ローカルマシンだけでなく、リモートマシンのDockerコンテナも接続できるようです。(わたし自身は、リモートマシンのDockerコンテナへの接続はやったことがないです。→参考

余談

わたしがメッチャよく使うのは、Remote-SSH
Azure VMを操作するときとか、宅内LANに接続したRaspberry Piを操作するときなど。VS Codeを使ってRaspberry Piで実行しているPythonコードのデバッギング(一時停止して変数見る)なんかは、マジで神機能です。

次に使うのは、Remote-Containersで、ローカルのDockerコンテナを使った開発環境の安定化。これはRemote-ContainersのContainer Configuration(devcontainer.json)を使う用法です。(これに関しては別の機会に紹介したいと思います。)

参考