rubberduck-vba / Rubberduck

Every programmer needs a rubberduck. COM add-in for the VBA & VB6 IDE (VBE).
https://rubberduckvba.com
GNU General Public License v3.0
1.92k stars 302 forks source link

Feature request: Close all code windows #4084

Open daFreeMan opened 6 years ago

daFreeMan commented 6 years ago

After working in the VBE for a while, you'll eventually end up with most, if not all, code modules opened, each in their own window. There are times when you need to bounce between 2 or 3 specific modules and you need to see what's in the ones you're currently not typing in, so having a nicely arranged set of windows is very handy. Unfortunately, the VBE doesn't give you any easy way of doing this other than clicking a ton of little red Xs or hitting Ctrl-F4 until they've all closed.

Having a RD "Close all code windows" option (with an associated hot-key as an added bonus) would be a great addition.

retailcoder commented 6 years ago

Currently all RD commands are conveniently regrouped under a "Rubberduck" parent menu... however part of me completely wants to have this command under the "Windows" menu. Thoughts?

daFreeMan commented 6 years ago

Seems quite reasonable.

There are no menu items with icons in the Window menu, but there are in other places. A tiny little yellow rubber duckie next to the text Close all (with a short-cut underline on one of the "l"s) would indicate that it's an RD command. This theme could be continued as other commands are (potentially) spread about a bit to somewhat more logical places in the menu structure.

mansellan commented 6 years ago

For this particular case I would tend to agree. IMHO for the main menu, most features should be under Rubberduck, with exceptions as here for special cases.

Not sure this holds for context menus though. For example our extensions to the PE context menu - currently we have everything under Rubberduck, which increases nesting depth and hurts discoverability.

retailcoder commented 6 years ago

@mansellan having RD commands under a Rubberduck menu hurts discoverability? Suppose we don't, and include our commands in the native parent menu - user might have other add-ins loaded, that also add their own menu commands; how would a user that just installed 3 add-ins at once, know what command are handled by what add-in? If RD's commands are all under "Rubberduck", then it's a given :wink:

mansellan commented 6 years ago

Well, that's true... but is it enough of a reason? Thinking to what modern VS does - there's tons of features and extensions that extend the root of context menus. Hell, just with a fairly standard install, with R# and Service Fabric stuff installed, my solution explorer menu is already too tall to fit on my laptop screen without scrolling...

daFreeMan commented 3 years ago

@retailcoder TBH, does it matter which add-in supports which function? So long as they all work and don't collide with each other... Of course, it's nice to know what features you'll lose by uninstalling Add-In A, but in general day-to-day use...

OTOH, that's what you get for installing 3 add-ins all at once without playing with each for a bit to see how you like 'em (unless you're reinstalling).