添加自定义方法到方法签名自动完成

Add to custom methods to method signature autocomplete

在 class 中可以自动完成某些方法,例如构造函数或一些继承的函数。如果应用了特定特征,我想向自动完成添加一些自定义方法,例如 public function foo():void。首先我想到了 Live Templates,但不能将它们限制为仅在存在特定特征时才应用。

你知道我是怎么做到的吗?也许通过生成一些文档块?

您可以在 PHPDoc 注释中使用 @method tag 为特征声明此类“虚拟”方法。现代 PhpStorm 版本可以在声明新方法时调用代码完成时提供此类签名。

<?php
declare(strict_types=1);

/**
 * @method void traitPublic()
 */
trait T
{
    private function traitPrivate(): void
    {
    }
}

class C
{
    use T;
}