You can start a CodeTogether session without a CodeTogether account, however you must log in to join a running session from your IDE. Participants joining from a browser do not need an account.
You can create an account on the website, or if you’re using Eclipse or IntelliJ, you have the option of registering from the login dialog. Be sure to join the Insiders Program for the ability to join sessions from the IDE.
To log in to CodeTogether, click the Log in link in the CodeTogether view, or use the Log in command/action.
Hosting a Session
You can host a pair programming session directly from your IDE. All CodeTogether sessions are end-to-end encrypted.
Note: For details on how your data is kept secure, refer to the Security page.
Starting a Session
Choose any of the following options to start a pair programming session in your IDE:
- In the CodeTogether view, click Host New Session.
- Select Help > CodeTogether > Start Hosting Session.
- Use the Start Hosting Session command.
- Right-click in the editor and select Start Hosting Session Session from the menu.
- Select text in the editor, and then click Start from the annotation that appears below the selection.
Controlling Access to the Session
When you start a session, you get to control who joins the session and what control they have over it.
By default, the Yes, authorize via prompt setting will not let users join a session unless the host explicitly authorizes them via a prompt that appears in the host’s IDE when a participant joins the session. If desired, the authorization can be persisted so returning users will not have to wait on authorization again.
Note: Persisted authorizations can be reset on the CodeTogether preference page.
To prevent participants from being able to navigate between files or make selections, select the No, only you can drive setting. With this setting, they will not be able to edit either.
Finally, select No, only you can edit files if you’re okay with participants navigating, but would like to prevent them from making changes.
Stopping a Session
Choose any of the following options to stop a pair programming session in your IDE:
Inviting Users to a Session
After starting a session, share the Invite URL with others to have them join your coding session. Participants can use this URL in their IDEs, or open the Invite URL in any modern browser. Use any of the following options to copy the invite URL to your clipboard:
- In the CodeTogether view, click Copy Invite URL.
- Click the copy invite URL link at the bottom of an open editor (visible only when there are no participants).
- If you start a session from selected text, click Invite URL from the annotation that appears below the selection.
Hiding Files and Folders
CodeTogether 2.1 introduced the ability to prevent participants from accessing certain files or folders in the session. To hide files and folders, create a .codetogether.ignore file in the root of the project. Simple wildcard based patterns can be used to match files and folders to exclude from the session. If the session is active, you must restart the session for changes to take effect.
Sessions automatically timeout:
- When no participant joins for 90 minutes
- 45 minutes after the last participant leaves
- After 90 minutes of inactivity
Joining a Session
As of CodeTogether 3.0, you can join a session from an IDE, in addition to using a browser. Whichever method you choose, you lose access to all shared projects when you leave the session or the session ends.
Joining from an IDE
- The CodeTogether plugin/extension must be installed in your IDE. Please see our installation instructions for Eclipse, IntelliJ and VS Code.
- Join the CodeTogether Insiders Program. Use or create an account to join the Insiders Program. For the next few releases, IDE to IDE support will be available only to Insiders.
- In the CodeTogether view, click Join Remote Session.
- Select Help > CodeTogether > Join Remote Session.
- Use the Join Remote Session command.
In the Join Remote Session dialog, paste in the Invite URL, and specify an identifiable name to join the session.
Note: If you are not logged in, you will be prompted for your user name and password.
The resulting workspace is slightly different based on which IDE you use to join the session:
- Eclipse—A new CodeTogether project is created in your existing workspace. All projects shared in the session appear as individual nodes immediately under this project.
- IntelliJ—You can choose to join the session from the current window or from a new window. Whatever you choose, the projects shared will appear as a top level nodes within the Project view.
- VS Code—A new window is automatically opened with a CodeTogether workspace. The projects shared appear as top level nodes under this workspace.
Joining from a Browser
When participants join a CodeTogether session through a browser, they still get a full-fledged IDE experience.
Customizing the IDE Experience
When you open the Invite URL the first time, you are prompted to customize your IDE experience—choose the look and feel of your favorite IDE, and key bindings that you’re familiar with, for a smooth coding experience in the browser. You can change these settings every time you join a session; or, from within a session, select File > Settings > CodeTogether: Change IDE Experience.
Specifying Your Name and Joining
After opening the Invite URL in the browser (and customizing the IDE on the initial session), you are prompted for the name to use in the session. Type your name and click Join Now. To change your name during a session, click your name in the status bar or the CodeTogether view and type a new name—the name can be changed at any time, and is persisted across sessions.
Use the following options to adjust the layout to your liking:
- Double-click on an editor tab to have it take up the entire browser window, and maximize your coding real estate.
Alt+Shift+Cto collapse all side panels.
- Select the View menu to access additional options to customize the workbench.
Working in the Session
If the host gives participants full access rights, each member determines whether they want to code alone or together. For more details, refer to Session Basics.
Because language smarts are provided by the host, participants have access to a number of intelligent features when navigating and editing in a session. For more details, refer to Participating in a Session.