CodeTogether 4.0—More Goodness for All, Especially Teams

Brian Fernandes

March 23, 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. If you like working with CodeTogether, please do us a favor and tell your friends and colleagues about us – thank you!

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. 

You may also like . . .

Leveraging Software Engineering Intelligence: A Guide for Tech Leaders

Leveraging Software Engineering Intelligence: A Guide for Tech Leaders

Unlock the Future of Software Development with Data-Driven Intelligence Effective leadership in software development requires more than managing teams and projects—it’s about making smarter, data-driven decisions. Software engineering intelligence (SEI) offers a...

The Importance of Real-Time Alerts in Software Projects

The Importance of Real-Time Alerts in Software Projects

In the fast-paced realm of software development, even minor delays or unnoticed errors can escalate into major setbacks, leading to missed deadlines, increased costs, and compromised product quality. Traditional monitoring methods often fail to catch issues as they...

The Top 5 Challenges for Task Management in Software Development

The Top 5 Challenges for Task Management in Software Development

In the dynamic world of software development, effective task management is critical for ensuring projects stay on track, teams remain productive, and high-quality code is delivered on time. However, achieving this can be challenging without the right tools and...