[MonoDevelop] Rafactor submenus

Lucas Meijer lucas at lucasmeijer.com
Thu Sep 10 18:01:42 EDT 2009


Hey,

I took the MonoDevelop 2.2 beta for a spin yesterday, and was very 
pleased to see all the improvements all over the board. I found some 
things that annoyed me, and figured to let them be known:

public class Test
{
   public void MyMethod()
   {
      SomeClass a = new SomeClass();
   }
}

Let's say I want to refactor "SomeClass", so I right click it. I am now 
presented with a contextmenu that presents me three submenus:

"Things I can do with class SomeClass"
"Things I can do with method MyMethod"
"Things I can do with class Test"

I'd like to argue that the latter two should be removed, and the 
subitems of the "SomeClass" should be at the toplovel.

If I wanted to refactor "MyMethod" or "Test", I would have clicked those 
instead. But I didn't. I provided information by rightclicking 
SomeClass, and it would be kind of MonoDevelop to try to use that 
information to guess what I want to do, and then make that require few 
clicks.

Cons:
   - It would make the context menu contain more items.

True, but not many. Let's say 8 refactor options get added, but we'd 
lose 3 submenus, so we're at +5. I can see the "It would get big" 
argument, but I"d say a better way to solve that is to remove other 
options from the contextmenu, that in this specific context, are very 
unlikely to be the options I want to select.

If I rightclik SomeClass, chances I want to do:
- cut
- copy
- surround with

are not very big. Whereas the specific actions I can do on SomeClass, 
have very high chance of being what I want. (since I clicked on it). So 
if there is going to be a realestate fight, these should win.

I guess my whole story would be best summarized as "It's a _context_ 
menu. Let's use the context availabe"

Interested in how others feel about this,

   Lucas


More information about the Monodevelop-list mailing list