Reorganizing the Visual Studio 2010 Solution Explorer Context Menu
If you work extensively with Visual Studio, it's entirely possible that you've ended up with a solution explorer context menu that is strikingly similar to the one you see at the right. In fact, I have seen many substantially worse context menus in real-world scenarios. Options just tend to pile up as you approach different projects, each with different tooling requirements that can eventually culminate in a menu that is extremely difficult to browse.
Luckily, Visual Studio 2010 does, in fact, let you reorganize the menu as you see fit. Since I found the functionality a little bit unintuitive, I am going to blog about it, just in case somebody else did as well. This would actually make me feel better, since I feel a little bit silly -- it was always pretty easy to find the equivalent functionality in Office...
As you might expect, the first stop is Tools -> Customize..., followed by a quick jog to the Commands tab. From the Context Menu dropdown, you can choose which context menu you'd like to edit. An "|" indicates a submenu, which we'll get to in a moment. In my experience, the one that is most likely to become huge and unwieldy is "Project and Solution Context Menus | Project." Rearranging, adding, and removing menu items are easy enough -- and it turns out that creating a new menu is also easy. Just not quite so obvious.
To create the new submenu, click the Add New Menu button. It will be created at the current cursor position. Give this new menu a name by clicking the Modify Selection button. Close the dialog. This unfortunately seems to be necessary -- open the Tools -> Customize dialog again, and return to the Commands tab. It'll be the same as before, except there will be a new option in the context menu corresponding to what you named the new menu. For example, if you created an "Ostriches" submenu in "Project and Solution Context Menus | Project", you can select "Project and Solution Context Menus | Project | Ostrich" from the combo box to edit the items available in that submenu.