1. I often find it would be useful to have some indication when extending abstract classes as to which methods need implementing. I appreciate that you don't have to implement every method as you could actually extend them in a grandchild instead, but having a little list alongside the class indicating which have and haven't been implemented so far would still be useful.
2. On a similar note, when extending classes generally, it would sometimes be useful to have a sort of virtual version of the "whole" class available. For example, suppose I have the following
class Class1 {
public function myFunction() {
... code ...
}
}
class Class2 extends Class1 {
public function furtherFunction() {
... code involving Class1::myFunction ...
}
}
|
If Class1::myFunction becomes very complex, I find myself flipping backwards and forwards between Class1 and Class2. Since Class2 extends Class1, myFunction is technically also part of Class2 and it could be handy to have some way of viewing (but not editing) myFunction while editing Class1. It could either be optionally displayed within the class or in some sort of side or hovering window.
Maybe both of these are too tricky to implement, but I feel that if they could, they would both be very powerful additions to an already excellent IDE and would greatly improve workflow.