Author: Rudolf Bock
New name for the Refactoring menu
Refoctoring, in principle, is a internal process, which is implemented in most of the IDE's today and which takes care about the Project consistency. Unfortunately, some IDE's using this buzzword for UI action, which have directly nothing to do with this background process.
This can be confusing for users which comes from IDE's which using conventional terminology. Because, user will primary do something, which could have sometimes a consequence for the rest of the project, but he will not care about it - he will trust the IDE, that it resolve all potential problems. This primary actions - modification can't be called Refactoring at all. These actions should be covered by a better term ....... "Modify". And it doesn't matter, if the user action consists from one or two steps, it is still the primary action, what user wanted.
The main menu
As mentioned above, the menu for all modification action will be called "Modify" (formerly Refactoring). Beside action, which are manipulating the Project items, it will contain also all similar actions located in the Tools menu till now.
This action allow rename classes and files in the project. It could be invoked from the Project Explorer, File window or from the Editor as well. It displays a dialog, where the user can specify a new name for the selected class. If the user renaming the class directly in the Project Explorer or File window, the Rename dialog isn't needed.
Move Class (Alt-Shift-V)
This action will move a class or file to a new location. It could be invoked from the Project Explorer or File window. It displays a dialog, where the user can specify a new location for the selected class/file. If user move the class using drag&drop mechanism, the Move Class dialog isn't needed.
Change Method Parameters
This action will display a dialog, where the user can edit parameters of the selected method. This menu item should be enabled only, if the user had chosen a method in the Navigator, if he selected a method in the code in the Editor, if he had selected a method name in the code or the placed the cursor inside a method in the code. In all other cases this menu item should be disabled. It is not possible to display a dialog with a "The following warnings and errors were found..." message.
This action will provide fields in a class with Getters possibly Setters. It displays a dialog, where the user can decide, which of the included fields should be provided with Getters or Setters.
This Menu item must be enabled always, when the user select a Java class file in the Project Explorer or File window. It must be enabled also if the user select a concrete class(es) included in this kind of file. When the user is working in the Editor, it must be enabled always, when the user place the cursor inside a class (if the cursor is placed outside a class in the code, this menu item must be disabled). It is not possible to display a dialog with a "The following warnings and errors were found..." message.
Override Methods (Ctrl-I in Windwos or Cmd-I in the MacOS)
This menu item was moved here from the Tools menu. It's functionality stays the same.
Check for Missing Interfaces (formerly Synchronize)
This is an another menu item moved here from the Tools menu. The new name of this menu item explains more clearly what it does.
However the UI behavior of this menu item must be changed, because there was a UI bug (as it was located in the Tools menu). This item was appearing and disappearing from the menu in connection to the state of the IDE. From now, it will be only disabled and enabled. Location of an item in the menu mustn't never change.
Apply Diff Patch
This menu item is moved there from the Tools menu as well. It should be available from the whole IDE.
Editor Contextual menu
The classical Refactoring submenu will be removed. Instead this submenu, the Editor contextual menu will include directly the proper "Modify" menu items. The shortcuts for this items staying the same as in the main menu.
The picture shows the order of the menu items. The item "Fix Imports" will remain on its position surrounded by the "Modify" items, which behavior is similar to the corresponding menu items in the main menu.
Project Explorer/File window Contextual menu
In this windows will be included the whole "Modify" menu as a submenu of the contextual menu. The behavior and functionality all of the menu item stays the same as in the main menu.
The "Modify" submenu is situated to the same place as the former Refactor submenu.