Вы должны использовать правильную документацию в стиле PHPDoc для Eclipse, чтобы добавить автозаполнение. В вашем операторе @return вы должны указать фактический тип (имя вашего класса), а не переменную:
<?php
class A {
/**
* @return A
*/
function a(){
return $this;
}
/**
* @return A
*/
function b(){
return $this;
}
}
class B extends A{
/**
* @return B
*/
function c() {
}
}
$object = new B();
$object->a()->b()->c();
?>
Теперь в вашем примере проблема в том, что он не будет работать с подклассом, потому что в документации сказано, что вы, например. for $ object-> a () возвращает экземпляр класса A. Поэтому автозаполнение не будет показывать методы из класса B (хотя вы можете вызывать их).