Skip to content
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

Closed
dpoeschl opened this issue Feb 19, 2015 · 4 comments
Closed
Labels
Area-IDE Feature Request Need Design Review The end user experience design needs to be reviewed and approved.
Milestone

Comments

@dpoeschl
Copy link
Contributor

Specific instances where we want to suppress the lightbulb (and probably other workspace features):

  • Inline Rename
  • Debugging (but not broken into)
@shyamnamboodiripad
Copy link
Contributor

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).

@dpoeschl dpoeschl changed the title Investigate possible solutions for Inline Rename's transactional behavior Allow features to take ownership of the workspace and deny external changes Feb 19, 2015
@dpoeschl
Copy link
Contributor Author

@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.

dpoeschl pushed a commit to dpoeschl/roslyn that referenced this issue Feb 19, 2015
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.
@shyamnamboodiripad
Copy link
Contributor

Thank you @dpoeschl

@srivatsn srivatsn added this to the Unknown milestone Feb 24, 2015
@jaredpar jaredpar removed this from the Unknown milestone Nov 23, 2015
@Pilchie Pilchie added this to the Unknown milestone Dec 4, 2015
@sharwell sharwell added the Need Design Review The end user experience design needs to be reviewed and approved. label Feb 11, 2019
@sharwell sharwell added this to In Queue in IDE: Design review via automation Feb 11, 2019
@CyrusNajmabadi
Copy link
Member

Not planning on doing anything here absent a strong customer ask, and very clear semantics on how this would work.

@CyrusNajmabadi CyrusNajmabadi closed this as not planned Won't fix, can't repro, duplicate, stale Oct 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-IDE Feature Request Need Design Review The end user experience design needs to be reviewed and approved.
Projects
Status: In Queue
IDE: Design review
  
In Queue
Development

No branches or pull requests

7 participants