Is there a way to make PhpStorm#39;s autocomplete quot;go deeperquot;?(有没有办法让 PhpStorm 的自动完成“更深入?)
问题描述
在 PhpStorm 中,如果我创建了一个对象,那么我会在该对象上自动完成所有工作:
In PhpStorm, if I create an object, then I have all auto complete on that object working fine:
$object = new MyClass();
$object->getNa...
将自动完成
$object->getName();
到目前为止一切顺利,但如果我通过第一种方法返回一个对象,那么自动完成将无法处理.
So far so good, but if I get returned an object through the first method, then the auto complete will not work on that.
$car->getDriver()->getNam...
将显示一个空列表.getDriver 方法将其 PHPDoc @return 标记设置为Driver",但在其他一些 IDE 中,因此这有助于获得正确的自动完成.
Will show an empty list. The getDriver method has its PHPDoc @return tag set to 'Driver' though and in some other IDEs, this therefore works to get the correct auto complete.
想知道我是否遗漏了某个设置,或者 PhpStorm 是否还没有提供这种高级自动完成功能?
Wondering if there's a setting that I missed somewhere or if PhpStorm doesn't offer this kind of advanced auto complete yet?
推荐答案
getDriver()
函数需要适当的返回值类型提示(函数的文档块):
The function getDriver()
needs appropriate type-hints for the return value (function's docblock):
* @return classOrInterfaceName
这通常足以让 IDE更深入".我很确定 Phpstorm 支持它,但我不是 Phpstorm 用户.
This is normally enough to have a IDE "go deeper". I'm pretty sure Phpstorm supports that, but I'm not a Phpstorm user.
注意接口/类的文件是否在项目中或被引用.
Take care the file with the interface/class is within the project or referenced to it.
作为一种变通方法,您可以将返回值分配给一个变量并对该变量进行类型提示.可能不太舒服,但可以提供帮助.
As a work around you can assign the return value to a variable and type-hint that variable. Might not be that comfortable but can help.
这篇关于有没有办法让 PhpStorm 的自动完成“更深入"?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:有没有办法让 PhpStorm 的自动完成“更深入"?
基础教程推荐
- 在 CakePHP 2.0 中使用 Html Helper 时未定义的变量 2021-01-01
- 使用 PDO 转义列名 2021-01-01
- PHP 守护进程/worker 环境 2022-01-01
- HTTP 与 FTP 上传 2021-01-01
- Doctrine 2 - 在多对多关系中记录更改 2022-01-01
- phpmyadmin 错误“#1062 - 密钥 1 的重复条目‘1’" 2022-01-01
- 在 yii2 中迁移时出现异常“找不到驱动程序" 2022-01-01
- 找不到类“AppHttpControllersDB",我也无法使用新模型 2022-01-01
- 如何在 XAMPP 上启用 mysqli? 2021-01-01
- 如何在 Symfony 和 Doctrine 中实现多对多和一对多? 2022-01-01