DEV Community

Discussion on: Building a Fully-Extensible Developer Collaboration Platform

Collapse
 
ben profile image
Ben Halpern

Wow, I feel like I just learned a lot about how Live Share is used.

In terms of building out your team's product, what are some "this is harder than it looks" parts and how about "this is easier than it looks" parts? 😄

Collapse
 
lostintangent profile image
Jonathan Carter • Edited

Thanks! I’ve been meaning to write this post for a while, so I’m glad to hear it was useful 😁

In terms of your question, one of the hardest things we had to tackle (and continue to tackle) is building a solution that shares language support (completion, rename refactoring, go to definition, etc.) and debugging to guests for all languages, and regardless if the guest has the respective language extension installed or not. It was really important that we enabled a “universal” experience that didn’t require the guest to have the right tools in order to jump in and be immediately productive with their pair. However, that required a ton of work and collaboration with language owners, in order to get things just right. Even still, we have work to do in improving the underlying protocols to be more efficient in high-latency network conditions.

In terms of what is easier than it looks, we were able to build the integration voice chat experience on top of the Microsoft Teams infrastructure and using the SDK that I talk about in this article.
All-in-all, it’s a pretty magical experience to call someone directly within VS Code, and it was only a couple weeks worth of work, built on the shoulder of giants 🤗