[MonoDevelop] Suggested change to navigation drop-down behaviour

Michael Hutchinson m.j.hutchinson at gmail.com
Sat Jul 3 23:39:04 EDT 2010


On Sat, Jul 3, 2010 at 2:40 PM, Mike Krüger <mkrueger at novell.com> wrote:
>> I see what you mean in that way, but at the same time then I might use
>> regions to break up and group methods within my class. If that's the
>> case and if I have multiple classes per file then navigation would seem
>> to make more sense to me if it showed the regions within the class so
>> that you could see the file was structured as:
>>
>> File ->  Namespace ->  Class ->  Region ->  Method
>>
>>
> but regions could be outside of classes and inside of methods. You
> assume something wrong here.
>> or even mixing region levels in one class:
>>
>> File ->  Namespace ->  Class ->  Region ->  Method
>>                    ->  Region ->  Delegates
>>
>> Or the really horrendous nesting:
>>
>> File ->  Region ->  Namespace ->  Region ->  Class ->  Region ->  Methods
>>                                                 ->  Region 2 ->  Methods
>>                                        ->  Delegates
>>                              ->  Region B ->  Different class ...
>>
>> At the moment the navigation will show all of those regions as top level
>> items and not let you get at anything outside the regions once you've
>> clicked on one unless you click in the text editor. What I'd expect and
>> find it easier to work with for navigation is something closer to the
>> ASCII nesting above where each region appears at the level in the code
>> hierarchy as it is written at.
>>
>>
> Yes that is true for this usage of regions ... but if you do this you
> should split up the classes accross files.
> (java like)
>
> Regions are used for lowering the 'noise' ... if I put now regions to
> the level with most noise (class members). They're not visible anymore.
> If I put regions in extra layers between I promote them to something
> that they are not really (part of the logical structure) - you
> understand my problem ?

FWIW, I think that all regions should be shown at the "level" at which
they're defined. Take a look at what I did for regions in the document
outline view for C# files. They're effectively arbitrary groupings at
any level.

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Monodevelop-list mailing list