The following would
be useful for quicker manipulation of interfaces:
1) ctrl-clicking on
a method declaration in an interface should popup a list of implementations, and
clicking on a particular one should navigate to the method declaration in
that interface
Rational: usually we
can hold down ctrl and click on methods or variables to navigate to their
definitions. However, if we have an object of an interface type, we will very
likely wish to navigate to one of the implementations. Currently, the fastest
way to do this is to navigate to the interface, then hit ctrl-H for the
heirarchy, and pick the implementation -- but at this point the memory of which
method we were viewing has been discarded, so we must hit ctrl-F12 to popup the
method list and pick the right method. Alternatively, we could pull up the
find-usages dialog, choose implementing methods, and then select the appropriate
one from the find-pane. This is not efficient enough -- it should be possible in
two-clicks using the same familiar "ctrl-click" approach as general
declaration-finding.
2)
program-by-intent: when declaring a new method on an interface, intellij should
offer to construct an implementation of the method in every class that
implements the interface.
Rational: The code
won't compile if the implementing classes don't implement the new method.
Inserting stub implementations is rote work. Might as well be
automatic.
Logical extensions
of these suggestions apply to abstract classes, abstract methods, and to some
degree overriden methods.
Thanks,
-Dwight
