在PhpStorm中标记@see

Mar*_*łek 2 php documentation phpdoc intellij-idea phpstorm

我有以下代码:

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();
Run Code Online (Sandbox Code Playgroud)

当使用CTRL+Qin PhpStorm查看类构造函数的文档时,我将看到:

null|string $splitter @see $splitter
Run Code Online (Sandbox Code Playgroud)

我是在做错什么,还是应该配置PhpStorm以显示的描述$splitter here。我希望这里已显示Splitter for words或链接到$splitter成员,而不仅仅是@see $splitter

正如我检查的那样,那两个变量的名字没关系-即使构造器参数名称为$sPhpStorm仍然显示@see $splitter

Laz*_*One 5

首先:内联时(如您所做的那样),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
    }
}
Run Code Online (Sandbox Code Playgroud)

PhpDocumentor结果:

在此处输入图片说明

在这方面,PhpStorm的表现要好一些-至少@see在主要(方法)描述中进行了解析。


唯一可行的解​​决方案(如我所见)是将@see标签放在单独的行上:

/**
 * Some Description
 *
 * @param null|string $splitter Bla-Bla
 * @see $splitter
 */
Run Code Online (Sandbox Code Playgroud)

当然:您可以随时向“ PhpStorm的问题跟踪器”提交“功能请求”票证(我对此投赞成票)..但考虑到PhpDocumentor在这方面的表现如何。他们确实喜欢遵循与引用工具相同的行为)。