[MonoDevelop] Suggested change to navigation drop-down behaviour

Mike Krüger mkrueger at novell.com
Sat Jul 3 14:40:39 EDT 2010

>>> 3) If I add a region to my code then it breaks the click on the first
>>> button (the file). Clicking on the file only shows the region as an
>>> option, which means you can't use the nav to get to methods and classes
>>> outside regions
>> The first box just shows the regions and let's you select arbitrary
>> regions - but doesn't filter the following ones (doesn't make real sense
>> after trying it).
> If the first box is regions, or just the file name if there aren't any
> regions, then I think you might need to keep the file name option or
> something similar as a "no region" option, since some people will region
> some but not all of their code.
Why ? Where should it jump to when I select no region and I'm in one ?
>>> 4) Regions seem to show at the start of the list rather than where they
>>> are in the hierarchy. If I put a region inside the class and put my
>>> cursor on the class then I can't see the region in the nav, but if I
>>> click in the region then the nav shows the region first, then the class,
>>> then the methods of the class that are within the region.
>> That's because regions are more file specific than type specific ...
>> putting the regions into the type hierarchy wouldn't give a good
>> overview of the regions - wouldn't it ? I prefer to have the regions
>> separate for the files - is this wrong (I would like some opinions about
>> that after trying out the current SVN version).
> 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 ?


More information about the Monodevelop-list mailing list