在PhpStorm中标记@see

时间:2014-08-20 09:13:52

标签: php intellij-idea documentation phpstorm phpdoc

我有以下代码:

class A {

    /**
     * Splitter for words
     *
     * @var null|string
     */
    private $splitter = '-';

    /**
     * Desc...
     *
     * @param null|string $splitter   @see $splitter
     */
    function __construct(
        $splitter = null
    ) {
      // implementation
    }

}

$a = new A();

CTRL+Q中使用PhpStorm查看类构造函数的文档时,我会看到:

null|string $splitter @see $splitter

我做错了什么或者应该将PhpStorm配置为显示$splitter here的描述。我希望此处显示Splitter for words或链接到$splitter成员,而不只是@see $splitter

当我检查时,这两个变量具有相同的名称并不重要 - 即使构造函数参数名称为$s,PhpStorm仍会显示@see $splitter

1 个答案:

答案 0 :(得分:4)

首先:当内联(与您一样)时,PHPDoc标记应该被{}包围,如下所示:@param null|string $splitter {@see $splitter}

其次: PhpStorm不解析@param@return描述中的其他/内嵌标记 - 只有在@see位于其中时才解析它单独的行或如果在主(方法)描述部分内联。换句话说:@param描述中的内联不起作用(非常 )。

在这方面 PhpStorm就像PhpDocumentor本身一样(使用版本2.6.1检查)。

<强>代码:

<?php

class PHPDoc_See
{

    /**
     * Splitter for words
     *
     * @var null|string
     */
    private $splitter = '-';

    /**
     * Desc...  {@see $splitter}
     *
     * @param null|string $splitter Bla-Bla {@see $splitter}
     */
    function __construct($splitter = null)
    {
        // implementation
    }
}

PhpDocumentor结果:

enter image description here

在这方面,PhpStorm表现得更好 - 至少它在主(方法)描述中解析@see


唯一可行的解​​决方案(我认为)是将@see标记放在不同的行上:

/**
 * Some Description
 *
 * @param null|string $splitter Bla-Bla
 * @see $splitter
 */

当然:您可以随时PhpStorm's Issue Tracker提交功能请求票据(我会投票支持)..但考虑到PhpDocumentor的表现如何这方面..我严重怀疑PhpStorm开发人员会很快实现它(他们更喜欢遵循与引用工具相同的行为)。