CodeTogether supports coding alone or with a group, and you can even have multiple groups in a session. If the host allows participants to drive/edit when starting a session, everyone in the session can choose choose whether to explore/edit code alone or in a group. Multiple groups of developers, as well as individual developers, can code or browse the shared workspace simultaneously.
To start coding, a developer simply needs to start typing, whether in a group or alone. There is no need to request control and no confirmation dialog to step through. Several developers can be editing different files at the same time, and starting with CodeTogether 3.0, simultaneous edits in the same file (similar to Google Docs) are also supported.
Note: When multiple developers are typing simultaneously in the same file, language features like content assist, validation, navigation, etc. will continue to work for each editor, but performance may be affected. We are continuing to improve the reliability of these features in such cases.
When in a group, typically, all members of the group share the same editing context—the same cursor position and the same selection, in the same file. If permissions were granted when the host started the session, any member of the group can drive the session by opening new files, making selections or editing code. Other members in the group will follow the driver. No special process is needed to switch drivers, just open a file or start coding yourself, and the others will now be following you.
Quick Investigations and Edits
If a member is actively typing in the group, but another member wants to make a small correction elsewhere or just take a quick look at another piece of code, they can do so without leaving the current group. They can just navigate to the point of interest, and even make edits if desired. After a short timeout, they will be brought back to the active coder’s location. Other members in the group, and most importantly, the active coder, will not be affected by this and they will continue to remain in the same location.
Joining a Group
When you join a session, you are automatically placed in a group of developers.* To change to a different group, click a member name from a different group in the CodeTogether view.
If coding alone, you have the following options to join a group:
- In the browser, turn on the Shared Cursor toggle in the menu bar, or use the Ctrl + K C hotkey*
- In Eclipse and IntelliJ, an annotation in the bottom right of the editor will have a link to a group.
- In VS Code, click the Editing alone status bar item to bring up the Join others action.
* Participants are placed in the largest group in the session. If all groups are the same size, they join the host’s group.
Coding alone is similar to coding in a regular IDE. The developer alone decides which files to browse or edit. Other members of the session are not disrupted, nor do they follow along as the developer opens new files and makes edits.
To code alone:
- In the browser, turn off the Shared Cursor toggle in the menu bar, or use the Ctrl + K C hotkey.
- In Eclipse or IntelliJ, in the CodeTogether view, click the Edit on your own link, or the Editing Alone node in VS Code
- In Eclipse or IntelliJ, use the edit on your own link in the editor annotation at the bottom right.
- In VS Code, you click the Driving/Watching status bar item to bring up the Edit on your own action.
Using the CodeTogether View
To see an overview of the pair programming session, take a look at the CodeTogether view in the IDE or the browser.
In the IDE
Open the CodeTogether view in the host IDE as follows:
- Eclipse—Select Window > Show View > Others > CodeTogether > CodeTogether.
- IntelliJ—Select View > Tool Windows > CodeTogether.
- VS Code—Select View > Open View > CodeTogether.
In the Browser
The CodeTogether View defaults to the right sidebar in the browser; however, you can drag and drop the view to a different location in the window.
Tip: You can click the CodeTogether icon to quickly show/hide the view.
- Coding Together—All groups of developers who are coding together are listed here, along with the file they are actively editing. This section may list multiple groups. To join a group, click any member of the group.
- Editing Alone—All developers who are coding alone are listed here, along with the file they are actively editing.
- Recently Modified—Displays files that were recently modified in the current session.
- File Links—Click any file listed in the CodeTogether view to open that file. Opening a file does not change your current group.
Navigating and Editing in a Session
Host-provided language smarts allow you to take advantage of a number of useful features when navigating and editing code in the session, regardless of whether you join the session from an IDE or browser. Refer to Participating in a Session for details.