LoginSignup
4
0

More than 1 year has passed since last update.

え!!複数の JVM プロジェクトで同時に Code with me を!?

Last updated at Posted at 2021-11-30

出来らあっ!


この記事は Uzabase Advent Calendar 2021 1日目の記事です。

概要

IntelliJ IDEA のプラグインである Code with me は1年前に 記事 を書いたときから色々とアップデートが入り、今では IntelliJ IDEA にデフォルトでバンドルされるようになりました。
IntelliJ IDEA ユーザかつペアプロ・モブプロをする方は、一度はお世話になったプラグインではないでしょうか。筆者もその1人です。

ただ、例えば筆者のように複数の Kotlin のプロジェクトを同時に編集する必要がある場合、Code with me の使い方にひと工夫が必要です。
当記事では、その設定方法について記載します。

問題点の確認

まずは普通に Code with me のセッションを作ってみます。(映っているのは IntelliJ IDEA から生成した Ktor のテンプレートプロジェクトです)

スクリーンショット 2021-11-30 23.54.38.png

スクリーンショット 2021-11-30 22.33.15.png

"Enable Access" すると URL が作られます。
ここまでは問題ありません。普通の Code with me の使い方です。

ここからが問題です。
上記で共有したプロジェクトとは別のプロジェクトを IntelliJ IDEA で開き、それも Code with me で共有しようとしてみます。

スクリーンショット 2021-11-30 22.36.19.png

左が共有済み、右が未共有です。
この状態で右のほうの Code with me を有効化しようとすると...

画面収録-2021-11-30-22.41.24.gif

"Enable Access and Copy Invitation Link" の選択肢がありません。

ということで、複数のウィンドウを使って複数の Code with me のセッションは作れません。

解決策

モジュールをインポートする機能を使って、1つの IntelliJ IDEA 内で複数のプロジェクトを開けるようにしましょう。

IntelliJ IDEA のメニューから "File" → "Project Structure" を開きます。

スクリーンショット 2021-11-30 23.57.10.png

そして "Modules" を開き、

スクリーンショット 2021-11-30 23.57.56.png

モジュール追加ボタン + から "Import Module" を使って、2つ目のプロジェクトをインポートしましょう。
このとき、Maven プロジェクトなら pom.xml、Gradle プロジェクトなら build.gradlebuild.gradle.kts など、ビルドツールのコンフィグファイルを指定するとよいです。
あるいは、IntelliJ IDEA が自動で生成する IntelliJ IDEA 用のキャッシュファイル ~~~.iml を指定してもよいです。

スクリーンショット 2021-11-30 23.58.18.png

スクリーンショット 2021-12-01 0.00.09.png

すると、1つの IntelliJ IDEA ウィンドウ内で2つのプロジェクトを同時に開けます。

スクリーンショット 2021-12-01 0.02.17.png

スクリーンショット 2021-12-01 0.02.25.png

あとは Code with me のセッションを発行すれば終わりです。簡単ですね!

気をつけること

当然といえば当然ですが、1つの IntelliJ IDEA 内で1つのプロジェクトしか開いていないときには気にしていなかったことを気にする必要があります。
筆者が遭遇した範囲だと、以下のようなことがありました。

テストの全実行

機能追加や修正をした際に単体テストをすべて実行したくなりますが、[Ctrl + Ctrl] → mvn clean test では単体テストの全実行ができなくなります。
プロジェクトルートが1つではなく2つ以上になってしまうから、ということで当然といえば当然。

筆者は maven の実行コンフィグを以下のように作りました。
("Working directory" を指定するのがポイント)

スクリーンショット 2021-12-01 0.10.28.png

プロジェクト間で JDK のバージョンが違う場合は?

"File" → "Project Structure" → "Modules" から、JDK のバージョンを指定したいプロジェクトを選び、以下のように使う JDK を個別指定できます。

スクリーンショット 2021-12-01 0.17.31.png

おわりに

どうやら JetBrains は Fleet という新 IDE のベータテストをもうじき実施するようで。

Fleet へようこそ! | JetBrains News

Fleet は、コラボレーションを念頭に構築されています。

とのことで、いずれは Code with me ともオサラバ、って感じになるんでしょうか。
それまでは Code with me にお世話になることにしましょう。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0