Customizing the menus and toolbars

Hi,

I love your IDE, it's an amazing piece of software. However, that can sometimes be a hinderance because so many options makes finding what you want difficult. (Many people constantly swear when using Microsoft Word for the same reason.) So I am going through my menu- and tool- bar settings and removing rarely-used elements.

My question is this: Is there a way to add something back? (I don't see any.)

For example, there is an "Invalidate Caches" option under the File menu which I have yet to use, so I plan on removing it. Let's say in the future I have a problem, describe it on this Forum, and someone says, "Oh, you need to invalidate the cache and everything will be fine." Is there a way I can access that action if it's removed from the File menu?

Thanks,
Larry

10 comments
Comment actions Permalink

As a follow-up to the above question... what happens when I upgrade RubyMine? I am spending a LOT of time customizing the menus and toolbars - am I going to lose all of this work and these settings when I upgrade? What happens if you add new menuitems - will they show up? What happens if you move some menuitems to a different location?

Also, the HELP says you can transfer settings from one IDE to another, which is nice because I am running two instances of your IDE: one on my desktop and one on my laptop. The problem is that there are many XML config files, but none of them are named something like menu.xml or toolbar.xml. There are vague ones named options.xml, other.xml, etc. but I don't know what these do. All of which means this painstaking process is made even worse because I first do it on my desktop and then have to do the same thing on my laptop because I don't know which XML files contain the menu- and tool- bar settings.

Thanks for any help you can provide,
Larry

0
Comment actions Permalink

Oops. I just found the way to get back deleted menuitems. There is a "Restore Default" button, but it is way down on the bottom of the dialog so I did not see it. Sorry.

0
Comment actions Permalink

As a follow-up to the "Restore Defaults" button: It appears that this restores *all* menu settings. I have spent hours pruning my menus and I'm still not done. (One reason it's taken so long is because there are so many options that I did not know what all of them did, so I am experimenting with a lot of them.)

There are so many choices that it is easy to make a mistake by deleting a menuitem that you actually want. (I know, I've done it a few times already.) The problem is that you might have changed a couple of dozen of menuitems, but when you screw up on that one choice and hit "Restore Defaults" *all* of your painstaking work is reverted back to the originals, which means you must start all over.

I'm about 3/4 way through the menus and am scared to death I am going to make a mistake, because I know if I do I am going to have to revert my entire menu structure and start over. So...

1) I submitted a bug on this - it would be nice to be able to select a menu group for restoration instead of it being an all or nothing affair.

2) In the meantime, can you tell me what the config filenames are for the menus, toolbars, etc? This way I can make backups of them as I go along, and then if I screw up I haven't lost a lot of work, rather I can simply restore the appropriate config file and continue modifying the menus.

Thanks,
Larry

0
Comment actions Permalink

A suggestion, perhaps get into the habit of using ⌘⇧A to bring up the 'Find Actions...' dialog - I find it's the best way to do actions I don't have shortcuts for. I think you'll start to worry less about what's in your toolbars.

0
Comment actions Permalink

Thanks for the tip, Glen.I guess my problem is the same experienced by Microsoft Word users (and just about any other complex app) - too many options. Each of the menus probably average 20 sub-menus, and some of those sub-menus contain other 20-element sub-menus (like Version Control > Git). Like most Word users, I use only a handful of the menu choices, so the net effect is that all of the options serve to slow me down for each and every operation I want to perform because I must spend time trying to find the action I want. (BTW, many a study has been done about the benefits of a Spartan user interface.)

It's great that they give you the option to customize the menus - the problem is that "Restore Defaults" sets *everything* back to its original state. The literally *hundreds* of customizations you can make to get all of the menus, toolbars, and popup context menus just the way you like them takes time; quite a lot if you're really paring down the menus (which I did). Then, if you make one mistake or change your mind about one thing - bam! - *everything* is reset and you have to start all over, once again going through dozens and maybe even hundreds of operations all over again. And I have to do this on twice because I can't see a "settings" file that I can transfer between my desktop and laptop computers.

Are you on the RubyMine development team? I'm hoping to hear back from them about this issue.

Thanks again,
Larry

0
Comment actions Permalink

I'm not on the dev team, no, but am using RubyMine heavily now. I agree that your menu customisation stuff being reset is a pain, but yeah I suggest getting into the habit of searching-by-typing, since then what's in the menu bars become irrelevant. If Microsoft Word had that feature, I think a lot of people would be less confused about how to do what they want.

0
Comment actions Permalink

By the way have you tried RubyMiens's "Quick List" feature? You can create quick list of your favorite actions and assign short cut for it. Then by shortcut RubyMine will display small context menu with these actions. As for VCS RubyMine provides smart context aware quick list for commonly used VCS actions (commit, diff, add to vcs, revert, ..) - see "RubyMine | Version Control | VCS Quick list.."

0
Comment actions Permalink

Hi,

Thanks for the tip, Roman. I guess I can look into that, but some of my questions and concerns still remain.

First and foremost, there are a lot of things that I normally do, so the Quick List (or lists) would become lengthy. The reason menus have been around for so long in every single app is because they work; for this reason, apps typically don't contain Quick Lists, they contain menus. Also, pop-up context menus are probably used more than anything else - the ability to customize them is key.

I like the idea of having actions grouped under top-level menus because the hierarchical organization makes sense and is easy to use. I just don't like the fact that there are 20 choices for each menu because forcing me to look through all of the visual clutter slows down each and every operation. Many apps realizes the importance of customization - including yours. The problem is that there are so many customizations that it can take a long time to get the UI that works for you.

So there remain two questions/problems:

1) RubyMine lets you transfer many settings via XML files, but there doesn't seem to be a way to transfer arguably the most front-and-center aspect of the UI - the menu and toolbar structure. This means I have to painstakingly duplicate my desktop settings on my laptop. Are there XML setting files that we can use to ease this transfer?

2) Usage of any complex app changes over time. It would be nice if we could select individual menuitems (or even just top-level menus) to restore to default settings. Clicking that "Restore Defaults" button and watching it wipe out hours of work is just sickening. (And yes, customizing all of the menus, toolbars, and pop-up menus can take that long because there are hundreds of options. And double that if you have two computers, a not unlikely scenario.)
Good example: The projects I am working on use Git, so I don't want the never-used SVN or CVS options cluttering up my menus. But what happens if I get another job that uses SVN? It would be nice to be able to add that functionality back to the menus - but I can't. If I want it added back I currently have no choice but to wipe out *all* of my painstakingly-set customizations and start over.

I know you guys probably have a lot on your plate, but I think my concerns are valid. I think the way it stands now, the menu-customization feature is essentially worthless unless (a) you don't make a mistake while customizing hundreds of options or (b) you don't ever chang your work habits. And both of those aren't realistic assumptions.

Thanks for taking the time to read this. If would be great if you could answer my question about XML-setting files for menus and toolbars. It would be even better if you could think about adding this feature to a future release.

Any other thoughts or commets you wish to share on this subject would also be appreciated.

Thanks,
Larry

0
Comment actions Permalink

Larry,

So there remain two questions/problems:

1) RubyMine lets you transfer many settings via XML files, but there doesn't seem to be a way to transfer arguably the most front-and-center aspect of the UI - the menu and toolbar structure. This means I have to painstakingly duplicate my desktop settings on my laptop. Are there XML setting files that we can use to ease this transfer?

UI customization schema is stored in ~/Library/Preferences/RubyMine20/options/customization.xml (MacOS) or   ~\.RubyMine10\config\colors\customization.xml (Windows and Linux). You can

  • manually copy file to another computer
  • use RubyMine | File | Export Settings / Import Settings actions. You need to check "Custom Actions Schemes"  item.

Screen shot 2010-01-19 at 7.52.37 PM.png
Also we can add link to your menu schema at javascript:;  if you share your customized menu and toolbar scheme somewhere

2) Usage of any complex app changes over time. It would be nice if we could select individual menuitems (or even just top-level menus) to restore to default settings. Clicking that "Restore Defaults" button and watching it wipe out hours of work is just sickening. (And yes, customizing all of the menus, toolbars, and pop-up menus can take that long because there are hundreds of options. And double that if you have two computers, a not unlikely scenario.)

Your suggestion is quite reasonable and usability of menu customizing feature should be improved. Please submit an issue to http://youtrack.jetbrains.net/issues/RUBY. Actually menu customization is a feature of IntelliJ Platform and is available in all our products including IntelliJ IDEA. As far as I know almost nobody use it and thus its priority is low.

Good example: The projects I am working on use Git, so I don't want the never-used SVN or CVS options cluttering up my menus. But what happens if I get another job that uses SVN? It would be nice to be able to add that functionality back to the menus - but I can't. If I want it added back I currently have no choice but to wipe out *all* of my painstakingly-set customizations and start over.

For such example we provide "VCS Quick list.." smart quick list which automatically adjust it's content according VCS of current file. E.g. you may use several VCS in the same project (e.g. in the past RubyMine sources were splitted between Perforce and SVN repositories) and one quick list menu with all popular Git/Svn/Perforce actions is quite useful.

Larry, thank you for a detailed feedback

0
Comment actions Permalink

Thanks for the quick and thorough response, Roman. (As always )

I've said this on just about every post I've made: This is an amazing piece of software. Thank you for all of your hard work!

-- Larry

0

Please sign in to leave a comment.