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
Allow features to take ownership of the workspace and deny external changes #681
Comments
This issue specifically mentions rename. However, the workspace ownership is a general problem in other scenarios too. For example, when a debug session is active but code is not at a breakpoint we have similar problem where light bulb offers fixes - but fixes silently fail because workspace refuses to apply the changes in this mode. If we had a mechanism to track workspace ownership, then we could just hide the light bulb in such cases / at least avoid failing silently (we could say that debugger owns the workspace and hence a fix can't modify it). It would be good to add such mechanism to track workspace ownership (light bulb would be one consumer of this mechanism - but there could be others too). |
@shyamnamboodiripad I've changed the title and description (the 1st comment in the issue). Please feel free to update either/both of these so that the current state of the issue is properly reflected. |
Fix dotnet#554: This fixes a crash that was caused by invoking a lightbulb item that caused an Inline Rename session to launch when there's already an inline rename session active. We now check for inline rename sessions during lightbulb commit. If an inline rename session is active, we halt the lightbulb commit and tell the user to complete their rename session. This only prevents one (but probably the most frequent) manifestation of a larger problem in which rename is trying to perform a series of changes to the workspace that can be interrupted by some other feature applying its changes to the workspace. This larger design problem is tracked as dotnet#681.
Thank you @dpoeschl |
Not planning on doing anything here absent a strong customer ask, and very clear semantics on how this would work. |
Specific instances where we want to suppress the lightbulb (and probably other workspace features):
The text was updated successfully, but these errors were encountered: