Skip to content

[3rd party] Detecting solution/project changes #5805

@spouliot

Description

@spouliot

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.

omnisharp.eventStream.subscribe((e: BaseEvent) => {
	if (e.type === EventType.WorkspaceInformationUpdated) {
		changeActiveProject((<WorkspaceInformationUpdated>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 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.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions