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
Pricing plans
Projects stay on host
Selective sharing of resources
Full end-to-end encryption
On-premises/no internet req'd
Single sign-on
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
Anonymous use option
Immediately available
Project tree accessible
Maximum participants
Concurrent edits: different files
Concurrent edits: same file
Content assist
Validation
Quick fixes
Navigation
Refactoring
Shared debugger
Shared terminal
Shared console
Shared server
Run tests
Run launches
Text chat
Voice
Video
Screen sharing
Company
Pricing plans
Projects stay on host
Selective sharing of resources
Full end-to-end encryption
On-premises/no internet req'd
Single sign-on
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
Anonymous use option
Immediately available
Project tree accessible
Maximum participants
Concurrent edits: different files
Concurrent edits: same file
Content assist
Validation
Quick fixes
Navigation
Refactoring
Shared debugger
Shared terminal
Shared console
Shared server
Run tests
Run launches
Text chat
Voice
Video
Screen sharing
Company
Pricing plans
Projects stay on host
Selective sharing of resources
Full end-to-end encryption
On-premises/no internet req'd
Single sign-on
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
Anonymous use option
Immediately available
Project tree accessible
Maximum participants
Concurrent edits: different files
Concurrent edits: same file
Content assist
Validation
Quick fixes
Navigation
Refactoring
Shared debugger
Shared terminal
Shared console
Shared server
Run tests
Run launches
Text chat
Voice
Video
Screen sharing
Company
Pricing plans
Projects stay on host
Selective sharing of resources
Full end-to-end encryption
On-premises/no internet req'd
Single sign-on
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
Anonymous use option
Immediately available
Project tree accessible
Maximum participants
Concurrent edits: different files
Concurrent edits: same file
Content assist
Validation
Quick fixes
Navigation
Refactoring
Shared debugger
Shared terminal
Shared console
Shared server
Run tests
Run launches
Text chat
Voice
Video
Screen sharing
Company
Pricing plans
Projects stay on host
Selective sharing of resources
Full end-to-end encryption
On-premises/no internet req'd
Single sign-on
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
Anonymous use option
Immediately available
Project tree accessible
Maximum participants
Concurrent edits: different files
Concurrent edits: same file
Content assist
Validation
Quick fixes
Navigation
Refactoring
Shared debugger
Shared terminal
Shared console
Shared server
Run tests
Run launches
Text chat
Voice
Video
Screen sharing
Company
Pricing plans
Projects stay on host
Selective sharing of resources
Full end-to-end encryption
On-premises/no internet req'd
Single sign-on
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
Anonymous use option
Immediately available
Project tree accessible
Maximum participants
Concurrent edits: different files
Concurrent edits: same file
Content assist
Validation
Quick fixes
Navigation
Refactoring
Shared debugger
Shared terminal
Shared console
Shared server
Run tests
Run launches
Text chat
Voice
Video
Screen sharing
Company
Pricing plans
Projects stay on host
Selective sharing of resources
Full end-to-end encryption
On-premises/no internet req'd
Single sign-on
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
Anonymous use option
Immediately available
Project tree accessible
Maximum participants
Concurrent edits: different files
Concurrent edits: same file
Content assist
Validation
Quick fixes
Navigation
Refactoring
Shared debugger
Shared terminal
Shared console
Shared server
Run tests
Run launches
Text chat
Voice
Video
Screen sharing
Last Update: 2022-02-18
↓ Download required
Limited capabilites
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.