Not sure if anyone suggested this before, but here goes...
I use the rename refactoring all the time; So much so that I have it bound
to ALT-R. I also use about 50% of the other refactorings, but for those I
always have to access the Refactor menu in the menubar of the right-click
popup menu. The problem with that Refactor menu is that it is starting to
become overwhelming with the number of options. What is confusing is that
the Refactor menu is not contextual -- All the refactor choices are
available even when they don't make sense. If you select a wrong item, it
does display an error message.
I would like the Refactor menu to dymamicaly disable items which
are not valid for the current context. I suppose there may be a
performance problem to doing this for the Refactor menu in the menubar but
the right-click popup menu should be able to do this.
What I really want is a new feature similar to the inline intention
popups; This inline popup would display all the refactor commands which
are valid for the current context: local variable, field, method, static
method, class, expression, blocks of code, etc.
For example, if you invoke it on a local variable in a method.
(if that is possible)
If you invoke it on a method
(if not static)
This feature would make it much easier to understand which Refactorings
are applicable in each context. Also, I would bind this inline popup
command to a keybinding so that with two keybindings I have access to the
Rename Refactoring (80%+ of my refactoring work) and then all the other
refactorings through the inline Refactor Popup Menu.