Pair Programming Tools for Remote Development

Compare solutions to find the best tool for your pair programming needs.

This matrix compares popular plugins that can be installed into various IDEs. Check out our Remote Development Resource Guide for more tips on getting the most out of your remote development.  

Note: This is not an exhaustive list. If we missed a feature that’s important to you, or if you see any inaccuracies, please let us know.

Company
Genuitec
Pricing plans
Security
CodeTogether
Projects stay on host
Selective sharing of resources
Full end-to-end encryption
On-premises/no internet req'd
Compatibility
CodeTogether
Host in Eclipse
Host in IntelliJ
Host in VS Code
Join from browser
Join from Eclipse
Join from IntelliJ
Join from VS Code
Join across IDEs
Architecture
CodeTogether
Anonymous use option
Immediately available
Project tree accessible
Maximum participants
32
Concurrent edits: different files
Concurrent edits: same file
Host-based intelligence
CodeTogether
Content assist
Validation
Quick fixes
Navigation
Refactoring
Shared debugger
Shared terminal
Company
Microsoft
Pricing plans
Free
Security
Live Share
Projects stay on host
Selective sharing of resources
Full end-to-end encryption
On-premises/no internet req'd
Compatibility
Live Share
Host in Eclipse
Host in IntelliJ
Host in VS Code
Join from browser
Join from Eclipse
Join from IntelliJ
Join from VS Code
Join across IDEs
N/A
Architecture
Live Share
Anonymous use option
Immediately available
Project tree accessible
Maximum participants
31
Concurrent edits: different files
Concurrent edits: same file
Host-based intelligence
Live Share
Content assist
Validation
Quick fixes
Navigation
Refactoring
Shared debugger
Shared terminal
Company
JetBrains
Pricing plans
(Experimental)
Security
Code With Me
Projects stay on host
Selective sharing of resources
Full end-to-end encryption
On-premises/no internet req'd
Compatibility
Code With Me
Host in Eclipse
Host in IntelliJ
Host in VS Code
Join from browser
Join from Eclipse
Join from IntelliJ
client
Join from VS Code
Join across IDEs
N/A
Architecture
Code With Me
Anonymous use option
Immediately available
client↓
Project tree accessible
Maximum participants
20 (5 active)
Concurrent edits: different files
Concurrent edits: same file
Host-based intelligence
Code With Me
Content assist
Validation
Quick fixes
Navigation
Refactoring
Shared debugger
Shared terminal
Company
Saros Project
Pricing plans
Free
Security
Saros
Projects stay on host
Selective sharing of resources
Full end-to-end encryption
On-premises/no internet req'd
Compatibility
Saros
Host in Eclipse
Host in IntelliJ
Host in VS Code
Join from browser
Join from Eclipse
Join from IntelliJ
Join from VS Code
Join across IDEs
Architecture
Saros
Anonymous use option
Immediately available
sync
Project tree accessible
Maximum participants
5
Concurrent edits: different files
Concurrent edits: same file
Host-based intelligence
Saros
Content assist
Validation
Quick fixes
Navigation
Refactoring
Shared debugger
Shared terminal
Company
Floobits
Pricing plans
Security
Floobits
Projects stay on host
Selective sharing of resources
Full end-to-end encryption
On-premises/no internet req'd
Compatibility
Floobits
Host in Eclipse
Host in IntelliJ
Host in VS Code
Join from browser
Join from Eclipse
Join from IntelliJ
Join from VS Code
Join across IDEs
N/A
Architecture
Floobits
Anonymous use option
Immediately available
sync
Project tree accessible
Maximum participants
?
Concurrent edits: different files
Concurrent edits: same file
Host-based intelligence
Floobits
Content assist
Validation
Quick fixes
Navigation
Refactoring
Shared debugger
Shared terminal
Company
GitDuck
Pricing plans
Security
GitDuck
Projects stay on host
N/A
Selective sharing of resources
N/A
Full end-to-end encryption
On-premises/no internet req'd
Compatibility
GitDuck
Host in Eclipse
Host in IntelliJ
Host in VS Code
Join from browser
Join from Eclipse
Join from IntelliJ
Join from VS Code
Join across IDEs
Architecture
GitDuck
Anonymous use option
Immediately available
Project tree accessible
Maximum participants
20
Concurrent edits: different files
Concurrent edits: same file
Host-based intelligence
GitDuck
Content assist
Validation
Quick fixes
Navigation
Refactoring
Shared debugger
Shared terminal

Last Update: 10/22/2020

Near-term roadmap feature

Considerations

When it comes to IDE plugins for pair programming, there are several factors to consider. A good starting point is to make sure you select a tool from a reputable company, and feel confident that it will be around in the future to maintain the product. If you do run into an issue, how responsive is the company in getting back to you? Next, you’ll want to take a look at the product itself and decide which features matter to you. Here are some areas to keep in mind:

Security

Does the source stay on the host? Some solutions transfer the entire project to the participant’s system, where participants still have access to the source even after the session ends.

End-to-end encryption ensures that even if intermediate servers are compromised, or if there is an MITM attack, your source is never exposed.

If your company has strict security policies that prohibit source from flowing through an external entity, you’ll need a solution that can run on-premises, behind your firewall.

Compatibility

Of course you’ll need the ability to host a pair programming session from your preferred IDE, but what about your peers? Do they use the same IDE as you? If not, you may want to find a solution that allows them to host or join sessions from their preferred IDE. This can help maximize productivity since each team member will be in a familiar environment.

Maybe some team members don’t have an IDE at all or use lower power systems or devices. In these cases, the ability to join a session from a simple browser is a big plus.

Architecture

You might want to look into whether an account is required to join a session as a participant, or whether only hosts need accounts. Not requiring a participant to sign in allows users to get started with development quickly.

Do the sessions start immediately or do you have to wait for a project sync? This might be especially tedious with large projects or the first time you join a session with a new project being shared. On the host side, how easy is it to start a session with a new project—does it require additional steps as compared to hosting a session with a previously shared project?

If you regularly run mob programming sessions, what is the maximum number of developers that can be present in a single session? Can it support multiple groups working on the same project independently?

Intelligence

Typically, the host has an IDE with the language and framework support for the collaborative project. Participants on the other hand, might not have an IDE with the same capabilities, or they may have different IDEs altogether. 

For participants to be able to code productively, it’s important that language features like content assist, validation, refactoring, etc., are made available to them. Even if the participant has a capable IDE, you can still run into problems when the host doesn’t share the entire project. To be sure everyone gets needed language smarts, select a tool that has host-based intelligence. 

Something else to consider, can you execute commands in a shared terminal and debug the application along with other members in the session? These are great capabilities that can help you take your pair programming to another level.