2

我正在使用John Resig 的 Simple JavaScript Inhertance定义类,并使用 JSDoc@lends@constructs注释对其进行记录,但 NetBeans 不提供代码完成功能。这适用于我使用命名空间定义的模块,因为我直接引用它们。这是一个简单类的示例:

MyClass = Class.extend(
    /** @lends MyClass.prototype */
    {
        /** @constructs */
        init: function () {
            console.log('init');
        },

        foo: function () {
            console.log('foo');
        }
    }
);

var c = new MyClass();
c.  <-- ctrl-space only shows built-in methods like hasOwnProperty() and toString()

有谁知道记录这些类的方法,以便在 NetBeans 中提供代码完成功能?

4

2 回答 2

1

NetBeans 仍然不支持@lends@constructs@memborOf类似标记。它们设置为 7.4 和 8.0,但我不相信它们会很快实施,因为它们是从 7.0 左右报告的。通过首先将包含方法的(以前的)匿名对象分配给类,可以使用两种解决方法中的第二种。Class.extend()

原型

/** @class */
var Canine;
Canine = function() {};
Canine.prototype = props;

/** @type Canine */ var canine = new Canine();

匿名对象

/** @class */
var Feline = {
    purr: function() { console.log('meow'); },
    fall: function() { console.log('landed on feet'); }
};
Feline = create(Feline);

/** @type Feline */ var feline = new Feline();

注意:即使没有@typeNetBeans 7.4 补丁 1 中的注释,这也有效。

于 2013-12-05T22:58:39.920 回答
0

最新版本(在撰写本文时)是NetBeans 7.3 Beta 2。它支持 JavaScript 自动完成和调试。它也可以在 Chrome 中工作,并提供 NetBeans 和 Chrome 之间的往返更新。您应该看看这是否有助于您的 JavaScript 开发工作。

于 2012-12-11T19:31:46.297 回答