Console Sharing
Whether you’ve joined the session from an IDE or the browser, console output on the host is now visible to all participants. The output will automatically appear as soon as output is emitted on the host. CodeTogether reuses your IDE’s console views to display output—that’s the Console view in Eclipse, the Run view in IntelliJ and the Output view in VS Code. In the browser, see the Output view.
Access Control
When hosting a session, you can now configure three access related aspects. By default, the “authorize via prompt” setting will not let users in unless the host explicitly authorizes them. The authorization can be persisted though, so returning users will not have to wait on authorization again.
Note: Persisted authorizations can be reset on the CodeTogether preference page.
If you would rather not allow others to navigate to files or make selections, select the “only you can drive” setting—participants will not be able to edit either.
Finally, select “only you can edit files” if you’re okay with them navigating, but would like to prevent them from making changes.
Non-Project File Access
Sometimes you need to collaborate on files that are not part of the host’s workspace. Now, participants can follow the host, when they:
- Navigate to source for included libraries, such as from a JAR file or Python module
- Open files from the file system such as external configuration files
- Explore files that are loaded remotely and available in the IDE’s text editor
Note: Unlike project files, these files can only be opened by the host and must be left open (not necessarily active) on the host for participants to retain access.
On-Premises Changes
If you’re running an on-premises version of CodeTogether, the confusing and redundant login interface has been removed.
CodeTogether will now log additional metrics like session duration, participant counts, host IDE/versions and even plugin download counts. In a standard Docker installation of CodeTogether, these logs can be found in /var/log/codetogether.
If you’re using a load balancer, it can be configured to use a new ctstickiness
header to route requests with the same value to the same pod. This ensures the session host and clients stay together.
Key Fixes
- When hosting sessions, CodeTogether is now more tolerant of network glitches and momentary disruptions. It will actively attempt to re-establish the connection and keep the session alive.
- A number of indentation issues were addressed and you will now see consistent indentation around braces, brackets, new lines, and even for inserted code snippets.
- In IntelliJ, snippets suggested by content assist are now visible and usable at the participant’s side as well.
- Code has characters outside the traditional Latin set? These would appear garbled in VS Code clients—the issue has now been fixed.
- The bane of all developers, “space in path” issues that prevented top level folders in IntelliJ from propagating correctly have been fixed.
- An incompatibility with a third party plugin, “Laravel Idea”, that prevented participants from being able to join from IntelliJ, has been fixed.
- A typing annoyance that resulted in “Jump to file” occasionally popping up when you used the Shift key in the browser has been quashed.
- If your project has a large number of files (hundreds of thousands), joining a session from an IDE may fail, while a browser works. While we are still working on this problem, it has been mitigated somewhat by identifying additional derived files that can be removed from a shared session by default—these are the node_modules, vendor and bin folders where appropriate. Additional files can always be excluded using a .codetogether.ignore file
What’s Next?
Here are some key capabilities that are coming soon to CodeTogether.
- Refactoring support—We’ve already begun working on this, and will be incrementally delivering increased refactoring capabilities in the coming releases.
- Shared terminal—Not just a terminal on the host system, but a shared terminal, one accessible to all members in the session
Have a feature you’d like to see implemented in the near future? Consider creating an issue, or voting for an existing one to increase its priority.
To connect with us, message us on Twitter. We always love to hear from the CodeTogether community. And if you like working with CodeTogether, please do us a favor and tell your friends and colleagues about us!