【问题标题】:Netbeans code completion spanning class filesNetbeans 代码完成跨越类文件
【发布时间】:2011-03-23 11:48:36
【问题描述】:

我正在尝试让 Ne​​tBeans 6.8 代码完成为此工作。它本身似乎并不能做到这一点,但我想知道是否有一些 phpdoc 魔法或其他可能有帮助的东西,因为它似乎非常擅长使用它。

参加以下两门课:

class A {

    public $B;
    public function __construct() {
        $this->B = new D();
    }
    public function C() {
        echo "C";
    }

}

class D {

    public $E;
    public function __construct() {
        // Do stuff.
    }
    public function F() {
        echo "F";
    }

}

现在,假设我输入$A = new A();,然后开始输入$A->B->

假设这两个类都定义在同一个文件中,这很完美。我得到了 E 变量和 F 方法的完整代码建议。

但是,如果将类分别拆分为 A.php 和 D.php,并包含在另一个文件中(例如 index.php),那么在包含两个文件后执行相同操作只会给出无建议。

有什么想法吗?提前致谢!

【问题讨论】:

    标签: php netbeans autocomplete


    【解决方案1】:

    扩展 Mchl 的回答:

    如果这两个文件都在您的项目中,并且您使用了正确的文档块,则代码完成将找到您要查找的内容。举个例子:

    /**
     * Class A
     * 
     * @author Yourname <And@Email>
     * @package Example
     */
    class A {
    
        /**
         * @var D
         */
        public $B;
    
        /**
         * Constructor
         */
        public function __construct() {
            $this->B = new D();
        }
    
        /**
         * Function C
         * 
         * @return string
         */
        public function C () {
            return "C";
         }
    
    }
    

    键入/** 并在方法或变量之前按回车键将触发此类块的创建,前提是它已经被写入...

    【讨论】:

      【解决方案2】:

      在大多数情况下它对我有用,但如果您遇到问题,请在与 $A = new A() 对齐之前使用 /* @var $variable ClassName */

      您可以为此使用快捷方式:输入 vdoc 并按 Tab。

      【讨论】:

        【解决方案3】:

        我认为 netbeans 不会查看您所做的实际包含,而是查看项目的包含路径。设置它,它应该工作。原因可能与大多数人无论如何都使用自动加载这一事实有关,而遵循这一点就有点过分了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-12-04
          • 2012-07-30
          • 1970-01-01
          • 2014-09-25
          • 2011-01-04
          • 2013-09-02
          • 2018-06-25
          • 2011-01-04
          相关资源
          最近更新 更多