-
Notifications
You must be signed in to change notification settings - Fork 676
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix command enablement by using specific activation contexts for O#, Roslyn standalone, and Roslyn devkit #6782
Conversation
…Roslyn standalone, and Roslyn devkit
8ba0c49
to
33d6c79
Compare
@dibarbet Does this mean though that commands aren't visible until the extension has launched? For some that's probably not a big deal, but what about the ones that might trigger the server launch in the first place? |
@jasonmalinowski Kind of. For the Roslyn commands, that was already the case. We only set the standalone context when we launch the server, and that makes sense for the commands we expose from the new server (all of them require the server to be started in order to function). For O# ones they are now only available after activation. But note the O# commands are still available before the server launch (so o.pickProjectAndStart will function normally if the extension is activated). In my opinion this is the correct experience because
|
202d445
to
b639fa4
Compare
b639fa4
to
4286765
Compare
There were various bugs in the old enablement clauses. For example
This PR modifies the enablement clauses to look at an activation context. We explicitly set the activation context after we've run all the other logic to determine which server to actually launch.
Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1891108 (and other non-filed bugs)