FAQ about Code With Me
What is Code With Me?
Code With Me is a plugin for IntelliJ IDEA and other JetBrains IDEs that enables you to collaboratively review, edit, and debug code with your colleagues in real time.
You can obtain the Code With Me plugin here.
What are the IntelliJ IDEA requirements for working with Code With Me?
The Code With Me plugin is compatible with IntelliJ IDEA starting with the 2020.2.1 version.
Do I need IntelliJ IDEA, IntelliJ IDEA license, or the same IDE to connect?
As a host, you need to have the IntelliJ IDEA license and the IntelliJ IDEA version 2020.2.1 or later installed on your machine with the Code With Me plugin installed.
As a guest, you only need an invitation link. After you open the link in your browser, a free lightweight client application will automatically download and join the corresponding Code With Me session.
I don’t have the same IDE as the person who invited me. Can I connect from a different IDE ?
No IDE is required to connect as a guest, you only need an invitation link. After you open the link in your browser, a free lightweight client application will automatically download and join the Code With Me session.
What are the basic supported scenarios and capabilities of Code With Me?
The host can start a session to invite other participants (guests) and share project code with them. Session participants either follow each other or navigate the code independently. The session participants can edit code located on the host’s computer. The host can start a debugging session and share its state and actions.
What is the maximum number of participants that can join one session?
The Code With Me session can currently support up to 20 participants including the host. However, the active code editing is limited to 5 guests at a time.
How and what data is going through JetBrains’ servers?
Your project/solution data is going through JetBrains' servers end-to-end encrypted. The end-to-end encryption is secure only when a host and a guest verify that the generated fingerprint matches on both ends. Otherwise, the end-to-end encryption is susceptible to MitM.
Local IP addresses, project name, and username are shared without encryption as they are used for letting JetBrains establish a session between a host and a guest. When initiating a new Code With Me session, the host communicates with JetBrains server over TLS1.2+.
Code With Me communicates through an open source distributed protocol created by JetBrains and uses TLS 1.3 for end-to-end encryption.
What project/solution data is accessed by JetBrains?
JetBrains accesses local IP addresses, project name, and username. JetBrains doesn't access information related to project contents such as sources, project files, config files, because this information is flowing through its servers end-to-end encrypted.
What data is collected during a live session?
JetBrains doesn't inspect or collect any data on the code that is shared during the Code With Me sessions because the information is flowing through the JetBrains servers end-to-end encrypted.
Are any files stored locally on the guest's machine?
No, the shared code resides on the host's machine and is not uploaded to or stored in the cloud or the guests’ computers.
Both the host and guests can collect and store locally log files that include detailed information about the session such as user names, remote addresses with which the connection was established, caret movements, typed symbols, invoked actions, parts of file contents, files opened, file paths, and so on.
What files are accessible by the guests? Are they restricted to a particular working directory?
There are no restrictions in accessing different parts of the host’s project, executing code, or working in the terminal tool window during an active session.
Does Code With Me support plugins?
Plugins that perform customization of the IDE are supported. The guest cannot download and enable any language or framework related plugins.
Is Code With Me compatible with other editors such as VSCode, Vim, Emacs, and so on?
No, but as a guest, you can customize your local environment and add a keymap of your choice by installing and enabling the needed plugin.
How can I download Code With Me?
The Code With Me plugin is available starting with the IntelliJ IDEA 2020.2.1 version, and you can install it as you would any other IntelliJ IDEA plugin.
What are the minimum/recommended system requirements for Code With Me?
The minimum and recommended requirements can be found here.
However, for guests only a lightweight client application is downloaded, so the requirements for disk space and computer resources are lower than for a host.
What are the current limitations for working with Code With Me?
Not all the tool windows are available for the guests. For example, the Gradle and Maven tool windows are not yet supported.