facebook
Brian Fernandes
Director of Customer Engagement - Loves technology and almost everything related to computing. Wants to help you write better software. Follow at @brianfernandes.
Posted on Mar 23rd 2021

CodeTogether 4.0 is here with so many new major features it had to get a major version number!

CodeTogether Teams and single sign-on support make it far easier to securely collaborate with your team, while new code analysis and terminal write access capabilities give participants a more powerful coding experience.

Check out this video and then read on for details.

Code Analysis and Navigation Capabilities

If you’ve missed the ability to pull up call/type hierarchies, usages, or the quick outline in participant sessions, you have reason to cheer as this release brings these capabilities to all client IDEs, and to browser sessions as well.

Access these features using your IDE’s normal key bindings or menu actions, just as you would if you were coding locally.

Teams

Joining a CodeTogether session using an invite URL is already pretty straightforward, so how did we just make this even better? Enter CodeTogether Teams!

  • Team-focused CodeTogether view displays running sessions, as well as team members online.
  • Team members can easily join running sessions themselves by selecting them in the CodeTogether view.
  • Invite other team members to sessions from within the view – they can join by accepting an explicit invite within their IDEs. There’s no need to deal with copying, pasting and sharing URLs if you don’t want to.
  • You can request other team members to start hosting a session.
  • Provides an additional layer of security as some functionality can be restricted, or only available to other members of your team.
CodeTogether Teams includes a 30 day free trial. It’s simple to add a team and try it out.

Terminal Write Access

As promised, participants can now type and execute commands in shared terminals with CodeTogether Teams. We understand how powerful this capability is, so this is a team-only feature where a participant can request access only if they’ve signed in to the same team as the host. The host must explicitly allow write access for each participant who requests it. Of course, the terminal can be unshared at any time.

Single Sign-On (SSO)

SSO integration is currently available only for on-premises installations. If your SSO provider supports the OpenID Connect protocol for sign on, you can set up your on-premises installation to allow CodeTogether access to users only if they’ve been authorized by your provider. The OIDC protocol ensures CodeTogether can work with providers like Okta, Azure AD, Microsoft AD FS and Auth0 among others.

Interested in on-premises? We offer a free 45 day trial so you can see if it’s right for your team. 

Key Bugs Fixed

Navigation and Content Assist

A number of content assist glitches in Eclipse participants were fixed:

  • Imports added during content assist could result in garbled code
  • Mismatched case or additional characters typed during filtering would result in incorrect proposal text being inserted
  • With an Eclipse host, and VS Code / browser clients, the labels of content assist proposals were sometimes matched with typed text
  • With an Eclipse Neon host, content assist would not be available in clients

In VS Code, when editing Java, template proposals would sometimes not overwrite matched text.

In Eclipse, hyperlink navigation links would sometimes be hard to activate.

In IntelliJ, the go to definition action would not take you to the name of the targeted element, but to the beginning of the line on which the element was defined instead.

After inserting a proposal with no parameters, the cursor would jump to the location at which the content assist was invoked.

Project Structure and IDE Specific Issues

IntelliJ

  • If a project had two or more modules with the same content root name, the session would not start.
  • If an active file was renamed, an IntelliJ client would freeze and sometimes not recover.

VS Code

  • On the host, closing a new unsaved file would result in it automatically reopening immediately. There was no ghost in the machine, it was just a bug in the code.
  • When editors were tiled in IntelliJ and VS Code hosts, edits could go to the wrong location in the VS Code client.
  • If different editors were being activated in quick succession, edits made by the client could be lost.
  • For non-standard builds of VS Code like VS Codium, it may have been impossible to enable the “proposed API” mods we needed to enable advanced functionality.
  • Renaming a file would error out, resulting in the file disappearing until the host opened it.

Eclipse

  • When running with IBM’s J9 VM, Eclipse clients were unable to join sessions due to encryption issues with this VM.
  • If an Eclipse client joined a session with no terminals, content from terminals that were subsequently shared would not be visible.
  • Plugin is now compatible with the Eclipse 2021-03 release.
  • If a folder was deleted by a host or another participant, it would still remain visible for Eclipse clients. Trying to open a file within this folder would result in the client freezing. Conversely, if a new file was created within a new folder at the client end, both would disappear from the session.
  • Installation of CodeTogether would break quick fixes in Eclipse Neon and Photon.

Misc Fixes

Participants will now see warning markers as well as errors, and quick fixes for warnings will be available too. To head off potential performance issues, we are limiting the number of warnings to 250 per file.

We’ve added syntax coloring for Scala and Dart. Java .class files (if source attached) will be colored as well.

With Eclipse and IntelliJ hosts, clients would often see an incomplete list of quick fix suggestions – this is now fixed.

What’s Next?

This has been an exciting release with lots of new features, but there’s still more coming! Here’s what you can look forward to:

  • Port forwarding—If you’re running a web application on the host, this capability will allow participants to access it in their local browsers too.
  • Open type—We’ve added a number of code analysis and navigation capabilities to this release, but a workspace-wide Open Type/Go-to Symbol action is still outstanding.
  • Debugging—This is an important roadmap item for us, and we plan to deliver this in the near future.
  • Refactoring—Another important item that will be developed and released in phases over the next few releases.

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. 

As always, thank you for the support and feedback, send us a shout on Twitter, or if you’d like to catch our team live, drop in on our CodeTogether Gitter community. If you like working with CodeTogether, please do us a favor and tell your friends and colleagues about us – thank you!


Download CodeTogether Free

Work with a team? Start your 30 day trial of CodeTogether Teams*
*Includes up to 32 participants and unlimited session durations. CodeTogether Free will begin limiting sessions starting June 1, 2021.