Skip to content

Commit

Permalink
Update docs to address various issues (microsoft#4908)
Browse files Browse the repository at this point in the history
* Closes microsoft#4346

* Closes microsoft#4568

* re-add

* Planned Sessions was deprecated in microsoft#4613 so remove references to it

Closes microsoft#4896

* Update docs
  • Loading branch information
derekbekoe committed Apr 17, 2023
1 parent b05d6a9 commit c76741f
Show file tree
Hide file tree
Showing 6 changed files with 1 addition and 221 deletions.
37 changes: 1 addition & 36 deletions docs/reference/extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,6 @@ Extensions that support user-specific customizations **must** work for the host,

<sup>5</sup> *These work by connecting to a server of some kind, and can work with either centralized servers, servers that the guest has shared.*

### Visual Studio

Coming soon.

## Project-Specific Extensions

Host-installed extensions, which support the core editing, building and debugging of an application, and are specific to a language/platform/library/SDK, should be automatically available to guests, without requiring them to install anything. This way, hosts can setup their environment to support productive development of a project, and allow their guests to instantly join them, without additional pre-requisites. Because project-specific extensions aren't subjective or personal in any way, they can be deterministically shared from host-to-guest, without impacting anyone's familiar environment.
Expand All @@ -77,7 +73,7 @@ Additionally, in order to support project-specific extensions that a guest has i
| File/Project Generators | [Azure Functions](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions), [C/C++ Project Generator](https://marketplace.visualstudio.com/items?itemName=danielpinto8zz6.c-cpp-project-generator) || ❌<sup>6</sup> |
| Source control providers | [SVN](https://marketplace.visualstudio.com/items?itemName=johnstoncode.svn-scm), [Hg](https://marketplace.visualstudio.com/items?itemName=mrcrowl.hg) |||

<sup>1</sup> *Currently only C# and JavaScript/TypeScript, with more support coming soon.*
<sup>1</sup> *Currently only C# and JavaScript/TypeScript.*

<sup>2</sup> *Would only support the current active document, since guests don't have local file access.*

Expand All @@ -89,10 +85,6 @@ Additionally, in order to support project-specific extensions that a guest has i

<sup>6</sup> *Almost all of these would use the Node.js `fs` module directly to create files, which wouldn't work.*

### Visual Studio

Coming soon.

## Known Issues

The following are currently known extension issues, that could prevent them from working for guests within the context of a collaboration session (along with their workarounds), and therefore, could impact their workflow:
Expand All @@ -113,33 +105,6 @@ The following are currently known extension issues, that could prevent them from
| Not checking a document's `Uri.scheme` before populating a `DiagnosticCollection` for it | *Same as above* | Only generate `Diagnostics` for `documents` whose `Uri.scheme` === `file` ([example](https://github.com/Huachao/vscode-restclient/pull/196)) |
| Not checking for workspace scheme when returning `Tasks` from a custom `TaskProvider` | Guests display all remote and local tasks, and therefore, would display duplicates if both participants had the same extension installed | Only return `Tasks` for `WorkspaceFolder`s whose `Uri.scheme` === `file` ([example](https://github.com/Microsoft/vscode-eslint/blob/0fdb7c74b093cae9dc08355e7235582a254f24c2/client/src/tasks.ts#L42)) |

### Visual Studio

Coming soon.

<!--
## Extensibility API
In addition to the core goals outlined in the beginning of this document, Live Share also wants to enable extension authors to enhance the default sharing experience in the following ways:
1. Contributing to the core collaborative feature set, based on behavior that only the extension would know about. In these scenarios, the host could have an extension installed, and potentially allow guests to benefit from it without also needing to have it installed
2. Enhancing their own experiences to be collaborative (e.g. syncing bookmarks between participants), by synchronizing any custom state and UI interactions. In these scenarios, only participants that had the custom extension installed would be able to take advantage of the added collaboratively.
This will require some form of API/SDK, which extensions can use to determine if/when the end-user is within a Live Share session, and if so, light up additional capabilities. The following represents a high-level overview of some of the extension points we've identified, and look forward to getting further feedback on:
| Shared Resource | Extensibility Point(s) |
|------------------|---------------------|
| User status | 1. Retrieving the list of participants within the current Live Share session (e.g. the [Git Co-Authors](https://marketplace.visualstudio.com/items?itemName=drrouman.git-coauthors) extension could use that to populate the host's commit message with)<br /><br /> 2. Updating a participant's location (outside of just editors), as well as allowing other participant's to jump to/pin to them as they move into custom extension UI (e.g. a participant is navigating a MongoDB database using the [Azure Cosmos DB](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-cosmosdb) extension). |
| Workspace | *N/A* - Live Share can transparently share all files, edits, cursors and highlights, without requiring an extension to do anything extra if it modified the file system and/or cursor/highlight position. |
| Language Services | *N/A* - Long-term, Live Share can transparently remote all language services (e.g. go to definition, document formatting, CodeLens) to the guest, including those that are contributed via extensions (e.g. [Path Intellisense](https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense), [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)) |
| Debugging Sessions | *N/A* - Live Share can transparently remote all debugging sessions, including those that are enabled by custom extensions (e.g. [Debugger for Chrome](https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome)) |
| Servers | 1. Sharing a server that an extension was responsible for starting, and then optionally specifying whether a browser should be launched on the guest's machine as well (e.g. a debug adapter that launched a web server). |
| Custom | 1. Synchronizing arbitrary state and/or user interactions (e.g. the [Bookmarks](https://marketplace.visualstudio.com/items?itemName=alefragnani.Bookmarks) extension syncing CRUD operations across participants, the [Maven for Java](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-maven) extension exposing the project-wide view to guests) |
-->

## See also

- [Language and platform support](platform-support.md)
Expand Down
88 changes: 0 additions & 88 deletions docs/reference/insiders.md

This file was deleted.

2 changes: 0 additions & 2 deletions docs/reference/platform-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ manager: jmartens

Visual Studio Live Share's features are intended to work across a diverse landscape of languages and application platforms. However, given the sheer number of variations, some platforms and languages are more complete than others. This document covers the current known state of a number of popular languages and platforms for currently supported features.

See a language or platform you need? Want to add one you don't see? [Vote here.](https://github.com/MicrosoftDocs/live-share/issues/12)

## Visual Studio Code

All languages / platforms have same file intellisense (when the respective extension is installed), as well as colorization and co-editing support. The lists below covers advanced features currently without complete, universal support:
Expand Down
4 changes: 0 additions & 4 deletions docs/reference/use-cases.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,6 @@ To enable this feature:
- **VS Code:** Add "liveshare.increasedGuestLimit":"true" to settings.json.
- **VS:** Set Tools > Options > Live Share > Increased guest limit to "True"

To fully optimize Live Share for this scenario, we need to simplify the way that sessions are initiated ([#422](https://github.com/MicrosoftDocs/live-share/issues/422)).

## Code Reviews

PRs are a powerful way to collaborate with others, but typically represent the completion of a task (excluding "WIP" PRs), and the desire to merged it in. Many times, the feedback that is given in a PR could easily have been given earlier, and therefore, there's potentially value for teams to easily and continuously seek advice from their peers, as opposed to waiting until they "complete" a task to ask.
Expand All @@ -132,8 +130,6 @@ Since Live Share allows you to instantly share your project with others, it can

Additionally, since Live Share allows you to share an arbitrary directory, you can use it to perform code reviews, even if you're not currently using version control (though you should!), or if your team doesn't use PRs (E.g. you do trunk-based development).

Live Share doesn't currently share source control diffs, which is a critical piece of context when using it for code reviews. This is on our roadmap, and any feedback on priority is greatly appreciated ([Vote 👍 Here](https://github.com/MicrosoftDocs/live-share/issues/36)).

## Technical Interviews

When interviewing candidates for a developer position, it can often be helpful to go beyond whiteboard discussions, and instead, observe them solving a coding problem from within an actual IDE (especially if your team/organization has "standardized" on a tool that you'd like to see them use). This not only gives them the benefit of working in a way that is potentially more natural/comfortable (most developers don't code on whiteboards!), but also, gives them immediate feedback/assistance while working (e.g. build errors, intellisense). Many times, it's more important to understand a candidate's thought process, as opposed to their ability to memorize exact syntax and/or API names. In this way, Live Share provides an experience that is similar to doing a pair programming session, but allows the participant to be in their own environment (including OS settings, such as accessibility), and would work equally as well for local or remote interviews. Joining a session from the web allows the candidate to use the team's development environment and code base without downloading anything.
Expand Down
1 change: 0 additions & 1 deletion docs/toc.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
## [Language Support](reference/platform-support.md)
## [Extension Support](reference/extensions.md)
## [Linux install details](reference/linux.md)
## [Insiders](reference/insiders.md)
## [Notebooks](reference/notebooks.md)
# Resources
## [Troubleshooting](troubleshooting.md)
Expand Down
Loading

0 comments on commit c76741f

Please sign in to comment.