Ryukalice

リモート教育の救世主 Visual Studio Live Share

2019-06-17

概要

最近できた日本の Ruby の大統一 slack である ruby-jp の #vscode チャンネルで、Live Share がエディターやターミナルを共有できたり、rails server をプロキシしてくれたり等で捗るとの情報を得た。丁度、プログラミングをリモートで教えている方が git 周りで困っていたので、早速試してみた。試してみた結果から言うとこれは革命的な機能に感じ、リモートワーカーとしての自分の働き方が大きく変わるような未来が見えた。

Live Share の機能を雑に説明すると、ホストの vscode をゲストが見ることができるというものだ。書き込み権限を ON にすれば、Google Document のような感じでゲストがホストのソースコードを共有編集することができる。更に、なんとターミナルも共有することができる。(つまり、ゲストがホストのシェルで rm -rf したり、ホストのプライベートリポジトリを複数ゲスト1seat価格で編集するような悪行もできてしまう。)

インストールやサービスへのサインアップは瞬殺なので、是非多くの人に試してみてほしい。ちなみに Live Share は特段新しい技術ではなく、一年前ぐらいからパブリックプレビュー版が存在していたようだ。もっと早くに出会いたかった。

Live Share に見るリモート教育の快適さ

これまでに私が行ってきたリモートにおけるオンラインペアプログラミングは、画面共有が可能なオンラインテレビ会議ツール(Google meets(hangout), skype, zoom 等)でソースコードを見ながらアドバイスしつつ進めていくようなものだった。ターミナルに入らないと解決できない環境依存のエラーや git 周りの問題については、ssh で新人のマシンに入れるように設定する必要があった。まあ、エディターやターミナルの共有は恐らく他の方法も数多く存在していたのだとは思うし、少し話を聞いたこともあったが、これまでに私はそういったツールを見つけて試すまでには至っていなかったのだ。

そこで Live Share に出会ったわけだが、これは衝撃である。エディターを画面共有で見せてもらうだけではなく、自分が編集できて好き勝手にファイルを開いたり閉じたりできるわけだ。更にターミナルも共有してもらえば、その子のマシンで発生した(ハードウェア以外の)問題を全てこちらで把握して解決することができる。「なんか git が訳分からない状態になっちゃったんです...」みたいな問題を、「次はこのコマンド打ってみて」のようなテキストチャットによるアドバイスを繰り返して解決することに無限に時間を吸われてきた身としては最高の体験である。初学者も、先輩が自分のマシンでどんなコマンドを叩いて問題を解決しているのかを確認することができる。そして、これらの機能を使うのに複雑なセットアップは必要ない。vscode をインストールし、GUI で Live Share プラグインをインストールし、GitHub 認証でサインアップし、URL を共有してもらうだけだけなので初学者でも数分程度で可能だ。

誰でも手軽にこれほど上等なオンラインペアプログラミング環境を手に入れられるのは完全に教育の革命だと感じた。今までリモートにおけるプログラミング教育はオフィスにおける教育に対して大きなハンデを抱えていたが、Live Share はこのハンデを大きく軽減したと思う。むしろ、オフィスで隣の席に座っていようがペアプログラミングは Live Share を使った方が効率が良いのではないかと思う。私も、妻のマシンの問題を解決する際、私が dvorak 民なのでキーボード配列が違ってストレスを感じたり、MacBook の小さな画面を二人で見るのがしんどかったりしていたので、同じ家に住んでいても Live Share を使うことにした。オンラインによるペアプログラミングは、Discord 等の通話ツールと vscode があればオフィスとほとんど変わらぬ条件で可能となったため、引きこもりのリモートワーカーには最高の環境となった。