Implement.Insight allows quick finding of Java classes with short names matching the word at the cursor position and using them either as a super interface or super class for the class at the cursor position.

Implement.Insight popup window
Implement.Insight popup window

When editing a file, place the cursor within the bounds of the class you want to add a super interface or set a super class to, and press Ctrl+ALT+I (CUA) to invoke Implement.Insight. The Implement.Insight popup will be shown with the list of classes matching the word at the cursor position. The list may be empty if there are no matching classes though. To find matches, type the word in the Implement Interface edit box and Implement.Insight will dynamically rearrange the classes' list to show the matching ones.

You can select a class navigating through the list with the help of the usual keyboard. An alternative way to do it is to continue typing the word; the list selection will be changed to produce the closest match possible.

Press the Enter key when you find the required class and Implement.Insight will add this class to the list of super interfaces or set it as the super class for the target one. Implement.Insight will also write all the methods defined in the interface or all the abstract methods defined in the class (if you have selected an interface and a class, respectively).

Note: If you have selected a class (not an interface) and the target one already has a super class you will be prompted to confirm modifications.

Also, there is a possibility of invoking the built-in Implement Interface Wizard. You can use the appropriate button in the top left corner of the popup.

Code Changes Synchronization

Implement.Insight analyses changes in all dependant source files and correctly reflects them during generation of abstract methods implementations. But for most of the cases you need to compile all dependant classes before invocation of Implement.Insight. If the required class is not compiled yet or the required methods are not found in the compiled class, these errors will be shown in the Status View.

Options Dependency

Please note that the set of classes shown in Implement.Insight list depends on Packages Exclusion settings on the Project Properties | Productivity! | General property page. Also there you can customize the Code Generation Options which allow you to adjust the code style for the generated methods code.

Import statements will be generated based on the Imports Generation settings on Editor Options | Productivity! | General property page. There you can also customize other Implement.Insight options, such as Search Options and Sort Classes By.

See also: Productivity! Tools, Customizing Productivity!