vscode-csharp
vscode-csharp copied to clipboard
Implement a project context picker / choose active context (TFM)
Implement a TFM / project picker that shows up on open files in the vscode editor. The set of active projects comes from the LSP tools host. When that information changes it must be sent back to the LSP tools host.
One possible implementation would be similar to how it works in VS.
A custom LSP command to retrieve the set of active project contexts (e.g. in VS) A custom UI that shows up on open documents to allow the user to switch between active contexts. Populated by 1 A middle layer that intercepts LSP client requests and adds on the active document project context before passing the request to the server.
Moving this up since this is a MAUI blocker.
Small implementation note: the steps @dibarbet outlined are reasonable. For the first step, we already have a handler for the VS for Windows command:
https://github.com/dotnet/roslyn/blob/24fbb2ff42b045831ea4814b35ad8688ec49a52b/src/Features/LanguageServer/Protocol/Handler/ProjectContext/GetTextDocumentWithContextHandler.cs
Signature help currently directs user to switch context in the navigation bar. Perhaps this message can be made more clear for users.
Oh hahaha yes we'll need to change that string!