I'd like to get your feedback on a design change that we are implementing for the Beta 2 release of VS 2005. In Beta 1, we introduced the Code Definition Window for the C#, J# and VC languages. The current view is a read-only view of the definition of the current symbol that is selected in the Editor, Object Browser or Class View.
In the Beta release there were several known issues with the read-only model which can be fixed by making the Code Definition Window editable. This change would mean that the Code Definition Window would behave as an editor on the file where the definition is located. If the file itself is read-only or is under source control, we would respect the same options that apply in the Text Editor. If the user makes a change to a file in the Code Definition Window and it is open in the editor, the editor will be updated simulataneously.
The difficult part is when the code definition window tries to navigate away from a file that has been modified but isn't open in an editor. What is this expected behaviour? Should we save the changes, should we open the document or should we not allow the Code Definition Window to navigate to the next file. My goal is to make users aware of what happens in this situation without constantly annoying them. My proposal is that we would show a message box when this occurs that says something like:
The file in the code definition window has not been saved. Do you wish to save these changes or open the file in an Editor?
[Open in Editor] [Save Changes] [Discard Changes]
[x] Always perform the selected action.
My hope is that users will always want modified files to be opened for editing and they will select to always perform that action.
I'd really appreciate your feedback on this proposed change.