Note: Assets are for documentation not the product source code.
This is a massive release that addresses some of our top feature requests for both Visual Studio and Visual Studio Code. We really appreciate all of the usage/feedback, so please keep letting us know how to improve!
- Feature Enhancements (VS Code / Visual Studio)
- Feature Enhancements (VS Code)
- Feature Enhancements (Visual Studio)
- Community Integrations (VS Code)
Feature Enhancements (VS Code / Visual Studio)
- Increased guest limit
🎉(#229) - The default guest limit of 5 can now be increased to 30 by setting the
liveshare.increasedGuestLimit(VS Code) and/or
Increased guest limit(VS) setting to
true. We had previously enabled this as an experimental feature in VS Code, but it has now been "promoted" to stable, and extended to Visual Studio. We're excited to see this feature land, since it enables many compelling educational scenarios, such as interactive classroom lectures, bootcamps, etc.
Feature Enhancements (VS Code)
Automatically sharing new/existing terminals
🚀(#506) - By default, any terminals that the host has open will now be automatically shared with their guests (in read-only mode!), as opposed to requiring them to explicitly share a new terminal instance. Additionally, any new terminals that are created during the collaboration session will also be shared automatically (once again, in read-only mode).
This not only increases discoverability of shared terminals for new users (they don't have to learn any Live Share-specific gestures), but it also enables host's to seek help from someone, knowing that they can share their current terminal state, as opposed to needing to create a new shared terminal. Since terminals are such a core part of modern development, we wanted to make sure that using them for collaboration was as simple as possible.
For security purposes, user's can disable auto-shared terminals by setting the
false. When set, no terminals will be automatically shared, and you can continue to use the existing
Share Terminalcommand in the explorer view and command palette.
Sharing split-terminals (#308)
🔥- As a result of resolving #506, the host can now take advantage of VS Code's split terminals support (yay!), and have those split terminals automatically shared with guests. This wasn't previously possible, since the
Share Terminalcommand would create a new, non-split terminal. So we're excited to allow hosts to have the flexibility of using/creating terminals as they would outside of a Live Share session, as opposed to needing to adjust their behavior in order to collaborate.
Sharing terminals created by extensions (#123) - As a result of resolving #506, the host can now share terminals that are created by extensions, as opposed to only being able to share terminals that they explicitly created. This enables a bunch of new scenarios, such as sharing the terminal output created by clicking a 'Run Test' CodeLens, or sharing an Azure Cloud Shell that is spawned by the Azure Account extension. After this and #308, there are now no terminals within VS Code that couldn't be shared, which is a big milestone for enabling universal/arbitrary collaboration workflows.
Elevating read-only terminals - Sharing a terminal in read-only mode is almost always recommended (seriously, like almost always), and as mentioned above, we now auto-share terminals in read-only mode by default. However, there are many cases where a guest legitimately needs to write to a terminal (e.g. to help with a Git rebase, to re-run tests), and they can now request elevated access on-demand by simply attempting to write to a shared terminal, which will then prompt the host to allow or reject write access. This eliminates the need for the host to create a new shared terminal, simply to allow write access to a guest.
Additionally, the host can change the access-mode of a terminal dynamically at any time by changing it between read-only and read/write from the explorer tree. This allows both the host and the guest to control terminal access, depending on which is most natural for the current situation.
Following participants to the side - We've always allowed users to actively follow another participant within their current editor instance. However, you can now passively follow a participant in a separate editor group by right-clicking on their name in the explorer tree and selecting
Follow to the side. This will create a new editor group to the right of your current editor (just like the
Open to the sidegesture in the
Explorertree), and automatically follow the selected user, while continuing to work in your current editor.
Among other things, this enables a powerful workflow for pair programming, where you can toggle between actively following someone, and then splitting off to do something independently, without losing the ability to keep an eye on what they're doing.
Auto-share/join an audio call - The Live Share Audio extension now allows you to configure it to automatically start a call when you share, and automatically join a call when another participant starts one. This should help simplify the workflow a bit for users that have incorporated audio into their daily Live Share workflow.
Feature Enhancements (Visual Studio)
EXPERIMENTAL "Solution view" (#31) - When joining a collaboration session using Visual Studio, you can now see a logical, project-based view of the codebase, as opposed to the "folder view". This allows devs to collaborate on a VS solution, and not see a different view of the project hierarchy, then they would see when developing locally.
This is the first step in us providing VS guests with a comprehensive Solution Explorer experience, and therefore, we have a lot of work left to do. That said, this is one of our most frequently requested items, and so we wanted to release our current progress. By default, VS guests will still see the project "folder view", but you can enable the new "solution view" by setting the Live Share
Community Integrations (VS Code)
The Visual Studio Live Share team is working hard to make collaborative development great out-of-the-box (e.g. sharing edits, debugging, terminals, workspace tasks, voice calls, etc.) However, we're just one member in the large and prolific Visual Studio Code community, and therefore, to provide a truly amazing collaboration experience for developers, we're excited to begin partnering with key products/extensions in order to expand the context/capabilities available in a Live Share session.
Collaborative/interactive prototyping using Quokka.js - The Wallaby.js team have added Live Share support for Quokka.js. When code changes on the host machine, Quokka automatically runs and displays execution results in both the host and guest code editors. When guests are allowed to make code changes, their changes are processed by Quokka on the host and then reported to everyone connected to the Live Share session. Quokka with Live Share adds a new dimension to instructor-led training and interactive prototyping/debugging.
Note: This integration requires both the host and guest to have the Quokka.js extension installed and is available in both Community and PRO editions of Quokka.js.
Chat and collaborate using CodeStream - The CodeStream extension is now publicly available, and brings code-centric chat directly into Visual Studio Code (which provides a great companion to Live Share!). Additionally, they released support for connecting to Slack, which allows you to sign-in using a Slack identity, and then view/communicate with your team's existing channels and DMs.
In case you missed it, they also provide a seamless integration with Live Share that allows you to quickly startup up a collaboration session with someone you're communicating with.
Collaborative Test Explorer - We had previously released experimental integration with the Test Explorer extension (shout out to Holger Benl for this!), but this has now been promoted to stable. This allows guests to view the hierarchy of tests in the project, as well as see inline test status. Even cooler, if the host enables "auto-run", then guests tests will immediately re-run when code is changed (either by the host or a guest), and everyone will be kept in sync with status changes (e.g. "Oops I just broke a test!").
All participants in the session can see the tests, and immediately see test status changes as they edit
Team Chat now supports Discord - The Team Chat extension, which provides integrated text chat within VS Code, now includes support for Discord (in addition to its existing Slack support). This provides another companion chat option for Live Share users, and enables the flexibility to communicate with other devs using your existing chat solution. When combined with Live Share Audio, this provides an E2E experience for collaboration, directly within VS Code.
Note: If you're interested in integrated chat support, then be sure to checkout the VS Live Share Extension Pack, which bundles the Live Share, Live Share Audio and Team Chat extensions together.