TL;DR
VSCodeを使ったモブプロの簡単な手順書です。
モブプロに便利なツールとして、Visual Studio Live Shareという画面共有しながらコーディングができるVSCodeの拡張機能があります。
この記事は、このLive Shareを導入する際の手順やつまりそうなところについてまとめています。
(https://visualstudio.microsoft.com/ja/services/live-share/ より引用)
モブプロって何?
(https://blog.crisp.se/2015/12/28/yassalsundman/real-life-mob-programming から引用)
モブプロでは、参加者全員が一つの画面を見ながら、一人がドライバー(作業する人)、一人が**ナビゲーター(指示する人)**としてコーディングを進める開発スタイルです。ペアプロの複数人版とも言えるものです。
ドライバーはナビゲーターの指示を受けてコーディングしていきますが、なぜそれをやるのかを納得するまでナビゲーターに聞くことで、コードの意味やコードの書き方を学んで行くことができます。
ナビゲーターはナビゲーターで、次にやるべきことを頭で考えながら人に伝える技術が問われます。
このようなナビゲーターとドライバーは、モブプロ参加者で順番に交代していきます。
やり方の一つとして、10分を1セットとし、セットが終わるとナビゲーターとドライバーを別の人に代えます。
トータルの時間は、1時間からさらに長時間にわたるものまで様々なものがあり、モブプロの目的によって変わるものです。
Visual Studio Live Shareを使ったモブプロ
ドライバーは、時間ごとに別の人に交代するため、一つのディスプレイを共有していると、ディスプレイに毎回繋ぎかえる必要があり、結構大変です。
Visual Studio Live shareという機能を使えば、特定の人のマシンのファイルにアクセスすることができ、そのファイルを編集するようすがリアルタイムで共有されるため、モブプロにめちゃくちゃあっています。
Visual Studio Live Shareを使うために
Live Shareを使うために次の二つが必要となります。
- VSCode
- VSCodeの拡張機能 Visual Studio Live Share
VS Codeの準備
VSCodeを持っていない方は、インストールしてください。
https://code.visualstudio.com/
Live Share拡張機能
VSCodeでLive Shareを使うためには、Live Share というVSCodeの拡張機能をインストールする必要があります。
インストールするには次の二つがあります。
- VSCodeの拡張機能から手動でインストールする
- 誰かが作成したLive ShareのセッションのURLを開いた時に出てくるポップアップからインストールする
下のやり方について解説していきます。
Live ShareのセッションURLをクリックして出てくる画面
https://prod.liveshare.vsengsaas.visualstudio.com/join?xxxxxxxxx
のようなセッションURLをクリックすると上のような画面が表示されます。
自動でVS Codeが起動しない場合は、下のロゴからVS Codeを開いてください。
GitHubの認証みたいな画面が出る場合はそれを許可してください。
Live Shareも入れたのに、セッションURLクリックしても接続できない場合
たまにあるようなので、セッションURLを手動で設定する方法について紹介します。
手動でセッションに参加する
https://docs.microsoft.com/en-us/visualstudio/liveshare/reference/manual-join
上のサイト(英語)で紹介されているように、 Join collaboration session... をクリックしてください。
すると、URLを入力するウィンドウが出てくるので、セッションURLを入力します。
これで、セッションを作った人のプロジェクトにアクセスすることができます。
これで、無事編集をリアルタイム共有することができます!
セッションを作る(ホスト側)
ホスト側の操作についても紹介しておきます(と言ってもボタン一発ですが)。
これを押すと、参加するために必要なセッションURLが発行されます。
これをSlackなりで共有すれば、ホスト側のPCにアクセスすることができます。
共有を終了する時
まとめ
Live Shareを使えば、リモートの人とモブプロするということも簡単にできます。
モブプロを使ってガンガン生産性を上げていきましょう!