WebStorm中的javascript类继承和可见性

时间:2015-10-09 11:18:19

标签: javascript intellij-idea webstorm jsdoc jsdoc3

我使用WebStorm作为我的首选IDE并编写了大量JavaScript。自动完成是很好的,但在JavaScript的情况下仍然有...改善...这至少是我经历的。

例如

有两个类,AB

/**
 * This is Doc of class A
 * @constructor
 */
A = function () {
    this.name = "Class A";
    this.data = {
        foo: "Foo!",
        bar: "Bar!"
    };
};

/**
 * @inheritDoc A
 * @augments A
 * @constructor
 */
B = function () {
    A.call(this);

    // this works fine in the application
    // but is not registered by WebStorm / IntelliJ
    this.data.braz = "Braz!"
};

B.prototype = Object.create(A.prototype);

var a = new A();
var b = new B();

我的Probmem

在IDE中:当我开始输入a.时,自动完成功能会启动并显示 data (A) name (A)

但是当我输入b.时,首先它没有显示值,只有在我添加了/** @augments A */之后。没有它,WebStorm就没有得到它。

但我遇到的主要问题是:当我输入b.data. 时,它不会向我braz (B)提供选项。 < / p>

有没有人有JavaScript,@ JSDoc,WebStorm / IntelliJ的经验并且知道解决方案?

可以做的是编写重复的代码并从上面复制this.data对象并添加我需要的属性。

也可以做的是直接将this.data的内容提升到this。但这不是我想要的。

提前致谢!

0 个答案:

没有答案