有没有办法告诉PHPStorm隐藏一个方法/函数/变量等


Is there a way to tell PHPStorm to hide a method/function/variable/etc

我正在寻找一种方法,使PHPStorm在代码完成时隐藏一些方法。我尝试过用@access private注释DocBlocks,但这并不能将它们隐藏在视图中。

除了编写/生成一个具有有限接口的存根文件并在我的项目中引用它之外,有没有任何方法可以隐藏私有的API?

例如:

比方说图书馆里有这个:

<?php

interface IDoABunchOfStuff
{
    /**
     * My library users use this
     */
    public function doFoo();
    /**
     * My Library needs this but requires that my users don't see it.
     *
     * @access private
     * @visibility none
     * @package mylib
     * @internal
     */
    public function doBar();
}
class Foo extends Something implements IDoABunchOfStuff
{
    /**
     * does foo
     */
    public function doFoo()
    {
        // ...
    }
    /**
     * does bar. for internal use only
     *
     * @access private
     * @visibility none
     * @package mylib
     * @internal
     */
    public function _doBar()
    {
        // ...
    }
}

我的图书馆用户正在输入:

<?php
myAwesomeFunction(IDoABunchOfStuff $aFoo)
{
    if($->$oFoo->[CTRL+SPACE] // invoking code completion...

有没有可能(如果是的话,我该怎么做)让我的用户永远看不到_doBar

我尝试过的两种不同的注释似乎都没有达到预期的效果。

附言:我正在使用PHPStorm 4.0.3

附加:

在这种情况下,我正在实现ArrayAccess,我不希望offsetGet、offsetSet、offsetExists和offsetUnset扰乱我的代码完成窗口,但我在其他地方也遇到过类似的问题,需要问一个更普遍的问题。

不——在当前版本的PhpStorm中不能做这样的事情。

Issue Tracker上有一张票据建议为此使用@access标签,但目前尚未计划在任何特定版本中实现:http://youtrack.jetbrains.com/issue/WI-5788

请随意投票/评论等,也许它会更快地实施。