如何记录自定义类,以便该类可以与javascript中的@type一起使用

如何记录自定义类,以便该类可以与javascript中的@type一起使用,javascript,node.js,netbeans,jsdoc,Javascript,Node.js,Netbeans,Jsdoc,如何记录自定义类,以便该类可以与NetBeans IDE中的@type-in-javascript一起使用,NetBeans IDE支持版本2中的JSDoc、ScriptDoc和ExtDoc 所以,让我举个例子来澄清一个问题。基本上,我有一个名为“Person”的类,它如下所示: /** @namespace */ classes = { /** * @constructor * @param {string} name The name of person.'

如何记录自定义类,以便该类可以与NetBeans IDE中的@type-in-javascript一起使用,NetBeans IDE支持版本2中的JSDoc、ScriptDoc和ExtDoc

所以,让我举个例子来澄清一个问题。基本上,我有一个名为“Person”的类,它如下所示:

/** @namespace */
classes = {
    /**
     * @constructor
     * @param {string} name The name of person.'
     */
    Person: function(name) {
        /** @description Name of the person. */
        this.personName = name;
    }
};
new classes.Person().
我有另一个函数将创建一个人的名字的东西

/** @return {classes.Person} something */
var getSomething = function() {
    return new classes.Person("something");
};
当我键入getSomething()时,NetBeans IDE将实现我尝试使用的函数。它还会告诉我getSomething()将返回一个classes.Person类型的对象。然而,当我在它后面放一个点时,就像

getSomething().
它没有给我成员personName的提示,这意味着它无法识别getSomething的返回类型是class.Person的实例。但是,如果我喜欢这样:

/** @namespace */
classes = {
    /**
     * @constructor
     * @param {string} name The name of person.'
     */
    Person: function(name) {
        /** @description Name of the person. */
        this.personName = name;
    }
};
new classes.Person().
它会给我一个会员人名的提示


有没有办法让NetBeans IDE意识到这一点

您使用哪个NetBeans版本?它适用于我的旧开发版本(从)。NetBeans 8.1还支持@typedef,可用于学习编辑器的任何代码完成,请参阅@ladar我正在使用NetBeans 8.1。在函数中使用@type时,代码完成工作非常好。但是,当它通过return传递时,它不起作用。基本上,我认为,它在函数中起作用是因为变量预测。然而,当预测变量通过返回值传递时,预测似乎不能很好地工作。