如何在phpstorm中为代码完成注释类

pol*_*ron 5 php phpdoc phpstorm

假设我有一堂课

class Class1
{
    public function method1(){
        return "hello world";
    }

}
Run Code Online (Sandbox Code Playgroud)

我有另一个在课堂上使用它的课程

class Class2
{
     /** @var $firstClass Class1 */
     private $firstClass;

     public function __construct($firstClass)
     {
            $this->firstClass = $firstClass;

     }

     public function method2()
     {
            return $this->firstClass-> "I want code completion to work here"
     }
 }
Run Code Online (Sandbox Code Playgroud)

如何使用PHPDoc使代码完成工作.我搜索了phpdoc的范围,声明,各种东西.我无法弄清楚phpdoc的注释行的术语或位置来选择它.

我正在使用phpstorm.救命!

Ale*_*ruk 10

检查类名称空间.

如果类具有命名空间,请确保在注释或别名中正确定义它们.
评论示例:

...
    /** @var \vendor\namespace\Class1 */
    private $firstClass;
...
Run Code Online (Sandbox Code Playgroud)

别名示例:

use \vendor\namespace\Class1;
...
    /** @var Class1 */
    private $firstClass;
...
Run Code Online (Sandbox Code Playgroud)


检查项目目录定义.

如果您的类目录未在项目设置中定义,则PHPStorm无法索引这些类.在这种情况下,代码完成将不起作用.如何在PHPStorm中设置项目目录.


清除PHPStorm缓存.

有时PHPStorm缓存变得无效.因此,代码完成可能无法正常工作.官方如何缓存清理.