Code with me is a new functionality that JetBrains has recently brought like a novelty to IntelliJ. It is a plugin that allows us to pair programming with more than one partner.

Jet Brains offers the plugin under different types of subscriptions. The free Community plan allows an unlimited number of 30-min collaborative sessions with up to 3 guests. Everyone with an active subscription to a JetBrains IDE automatically gets access to the Premium plan with unlimited session length and a maximum of 50 participants. The Enterprise plan allows even a hundred participants.

Functionality

As host you can simply start a new session for a specific project. This will create an invitation link that can be sent to other participants. It is not necessary that the participants themselves have the IntelliJ IDE installed. If a participant does not have intelliJ IDE installed, a free Jet-Brains Client is automatically downloaded.

The host can define specific rights for each participant of the session (for example, read only). Within their assigned rights, each participant can now navigate through the project and make changes.

A Following mode lets team members summon others from wherever they are, track the whereabouts of other participants in the code, and follow their activities with one click. One more feature is the integration of Audio and video calls out of the box, so you don’t need any additional apps to communicate with others like microsoft teams. Even though it is a fairly new plugin, some features from IntelliJ, like code autocompletion or navigation are included. More will probably be added with the next updates.

Evaluation

The host should pay attention when assigning permissions. If he gives a participant full rights, this participant also has access to the terminal of the host in the IntelliJ IDE. Depending on the permissions on the host's machine, the participant can access and delete files anywhere on the computer.

In order to work with version control, it is necessary to ensure that the project is already versioned, since it is not possible to run git init and commit once a session has been entered.

But why is it better than just sharing your screen in microsoft teams?

From my personal experience I can highly recommend the plugin as a tool for pair programming. All participants have the possibility to make changes on the fly. Nevertheless, a moderator can structure the whole session. Not convincing in my test was the integrated audio and video function of the participants. Therefore, my recommendation is to use the plugin without the audio and video functionality. For the communication between the participants a call in Microsoft Teams would be the better choice.