[3rd party] Detecting solution/project changes
- Dominant language
- TypeScript
- Stars
- 3.1k
- Forks
- 737
- Avg merge
- 18h 40m
- Merged PRs (30d)
- 31
Description
## Environment data
C# Extension version: 2.0.212
## Issue
The new (2.x) C# extension `exports` are incompatible with the previous (1.x) extension. Any extension that depends on the `exports` will not work anymore [1].
With the current (1.x) C# extension it was possible to access `eventStream` from the `exports`. This is used to be notified when the active project change, e.g.
```csharp
omnisharp.eventStream.subscribe((e: BaseEvent) => {
if (e.type === EventType.WorkspaceInformationUpdated) {
changeActiveProject((e).info.MsBuild);
}
});
```
and this let our extension update itself while keeping **in sync** with the C# extension. Sadly this member was removed from the exports in 2.x [2].
What would be the _right_ way to be notified when a different project/solution is loaded ?
[1] Unless you disable (or uninstall) C# Dev Kit and set `useOmnisharp` to `true`. This is fine as a [temporary workaround](https://platform.uno/docs/articles/get-started-vscode.html?tabs=windows%2Candroiddebug#c-dev-kit-compatibility) but it fragment the ecosystem since you can only use one of the two (CDK or Uno) extensions simultaneously.
[2] Even if it still present and used internally by the C# extension. Howver it only seems to work (for project changes) when used with OmniSharp.
Contributor guide
Assessment
This issue has not been assessed yet.