On Thursday, April 25, 2002, at 02:19 AM, Jan wrote:
+1 for navigation
Well thought out, and good arguments. Yes, I think this would be�an IDEA-'natural' implementation of interface navigation.
�
+1 for the stub-implementation, though I think this one might need a little bit more thought from people on the list, so that it doesn't end up conflicting with different peoples coding styles.
�
Regards Jan Krag
�
-----Oprindelig meddelelse-----
Fra: Dwight Rodgers [mailto:[EMAIL PROTECTED]]
Sendt: 25. april 2002 02:25
Til: [EMAIL PROTECTED]
Emne: [Eap-features] Better Support for Interfaces
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
�
�
