我使用WebStorm作为我的首选IDE并编写了大量JavaScript。自动完成是很好的,但在JavaScript的情况下仍然有...改善...这至少是我经历的。
有两个类,A
和B
:
/**
* 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();
在IDE中:当我开始输入a.
时,自动完成功能会启动并显示 data (A)
和 name (A)
。
但是当我输入b.
时,首先它没有显示值,只有在我添加了/** @augments A */
之后。没有它,WebStorm就没有得到它。
但我遇到的主要问题是:当我输入b.data.
时,它不会向我braz (B)
提供选项。 < / p>
有没有人有JavaScript,@ JSDoc,WebStorm / IntelliJ的经验并且知道解决方案?
我可以做的是编写重复的代码并从上面复制this.data
对象并添加我需要的属性。
我也可以做的是直接将this.data
的内容提升到this
。但这不是我想要的。
提前致谢!