有没有办法让PhpStorm的自动完成“更深入”?

时间:2011-10-01 10:44:09

标签: php autocomplete phpstorm

在PhpStorm中,如果我创建一个对象,那么我对该对象的所有自动完成工作正常:

$object = new MyClass();
$object->getNa...

将自动完成

$object->getName();

到目前为止一切都那么好,但是如果我通过第一种方法返回一个对象,那么自动完成将无法使用。

$car->getDriver()->getNam...

将显示一个空列表。 getDriver方法将其PHPDoc @return标记设置为“Driver”,但在其他一些IDE中,这样可以获得正确的自动完成。

想知道我是否错过某个设置或者PhpStorm是否提供此类高级自动完成功能?

2 个答案:

答案 0 :(得分:9)

函数getDriver()需要适当的返回值类型提示(函数的docblock):

  * @return classOrInterfaceName

这通常足以让IDE“更深入”。我很确定Phpstorm支持这一点,但我不是一个Phpstorm用户。

注意带有接口/类的文件在项目中或引用它。

作为一种解决方法,您可以将返回值分配给变量,并键入提示该变量。可能不那么舒服但可以提供帮助。

答案 1 :(得分:3)

请确保在所有项目文件中只存在一个类驱动程序的定义。这对当前版本的PhpStorm

至关重要

请参阅http://youtrack.jetbrains.net/issue/WI-2202http://youtrack.jetbrains.net/issue/WI-2760