エンジニア

JetBrainsのCode With Meを使ってリモートワークでペアプログラミング

投稿日:2021年8月12日 更新日:

名古屋スタジオでサーバエンジニアを担当している中村です。
今回はリモートワークでペアプロに便利なJetBrainsのCode With Meを紹介したいと思います。

リモートワークでのペアプロで、こんなことに困ってました

  • Web会議サービスや仮想オフィスサービスの画面共有でコードを表示すると画像が粗くて読めないことがある
  • カーソル操作や見たい箇所を口頭で伝えるのが難しい

Code With Meとは

JetBrainsが提供するIDEに最近追加されたプラグインです。
特徴を以下にまとめます。

  1. コードが共有できる
  2. カーソルが共有できる
  3. 操作が共有できる
  4. 音声やカメラも使える

Code With Meの利用のしかた

今回はIntelliJ/PHPStormで解説します。
※ 写っているソースコードは、業務とは関係の無いダミーコードです

  1. ホスト側:メニューバーからCode With Meを選択します

  2. ホスト側:自動で選択されたメニューが開き、Enable Access and Copy Invitation Linkを選びます

  3. ホスト側:権限をRead-only, Edit-files, Full-access, Customから選びます(今回はフルアクセスにします)
    ※フルアクセスにすると、ファイル編集だけでなくIDEのウィンドウからコマンド操作もできるようになるなど、ゲストに大きな権限を与えてしまうのでご注意ください

  4. ホスト側:IDEのメニューバーにあるこのマークからCopy Invitation Linkを選択します
    ボタンを押すとクリップボードにURLがコピーされているのでペアプロ相手に共有します。

  5. ゲスト側:共有されたリンクにアクセスするとWEBページが開きます
    記載されているコマンドをクリップボタンを押してコピーします。

  6. ゲスト側:ターミナルにコマンドを貼り付けて実行します

  7. ゲスト側:Code With Me Guestというアプリが起動します

  8. Code With Me Guestアプリが起動するとホストが承認するまで待機状態になります
    ホスト側でAcceptボタンを押すと準備完了です。

  9. ゲスト側のヘッダには「connect to 相手ユーザー名 プロジェクト名 ファイル名」と表示されています
    画面共有ではなく、ゲスト側のIDEにコードがロードされた状態になるというのが素晴らしいですね!

Code With Meを使った所感

ゲスト側でこんな感じで範囲指定すると...

ホストからはこんな風に見えます。
ホスト側が編集しても、ゲスト側が編集しても共有されます。

メニューにある、Force All to Follow Youをお互いに押しておくと、お互いのスクロールや別ファイルへの移動が常に共有されるので見やすくなります。
(一方、この状態で同時に操作すると混乱するので、声は掛け合った方がいいと思います)

こうしておくとJumpしても相手が同じ画面を追随してくれるのは嬉しいですね

特に良かったと思うのは以下の2点です。

  1. 何度Jumpしても相手が同じものをずっと見てくれるので、話がスムーズに進む
  2. カメラ、音声が独自の小ウィンドウで共有されるので、別途Zoomなどの会議アプリを使う必要がない(なんだかんだ言って会議アプリは重い)

まとめ

私が所属するチームは断続的に新規加入があり、リモートワーク状態でコードをレクチャーする機会が多かったので、ペアプロのやりにくさが課題でした。

Code With Meを使ってみたところ「最初のURL共有からコマンド実行までが面倒」という感覚はありましたが、ペアプロはオフィスにいる時と同等にやりやすいと感じました。

リモートワークが普及して、エンジニアの働き方も変わってきていますが、より良いリモートワーク環境のための選択肢としてCode With Meは優秀だと思います。

この記事で少しでもワンダープラネットのサーバエンジニアに興味を持ってもらえたら幸いです。

採用情報

ワンダープラネットでは、一緒に働く仲間を幅広い職種で募集しております。

-エンジニア
-,

© WonderPlanet Inc.