WebStorm JSDoc class 代码完成声明 node.js 模块
WebStorm JSDoc class declaration for code completion with node.js modules
我想知道如何在 WebStorm 11 中正确使用 JSDoc 来标记 classes 和 node.js 应用程序中的类型以获得代码完成等
示例:
文件A:
function A(){
this.b = true;
}
A.prototype.doSth = function doSth() {
return !this.b;
}
module.export = new A();
文件 B:
var foo = bar(); // returns type of A
现在我想要 "foo." 的代码完成,因此它会建议 foo.b、foo.doSth、...
我尝试了很多 JSDoc 条目,例如 @class、@constructor 并使用 @type {A} 来定义 foo 的类型,例如
/* @type {A} */
var foo = bar();
但 WebStorm 不识别类型 A。它不执行代码完成,而且 Ctrl+单击括号中的类型 A 说 "Cannot find declaration to go to"。
知道如何正确执行此操作吗?
看来我找到了解决办法。问题只是我用来标记变量类型的语法:
/**
* @class
*/
function A(){
this.b = true;
}
A.prototype.doSth = function doSth() {
return !this.b;
}
module.export = new A();
与
合作
/**
* @type {A}
*/
var foo = bar();
注意注释语法的区别:
以前我尝试使用
/* @type {A} */
var foo = bar();
这是行不通的。 @class
也可以换成@constructor
我想知道如何在 WebStorm 11 中正确使用 JSDoc 来标记 classes 和 node.js 应用程序中的类型以获得代码完成等
示例:
文件A:
function A(){
this.b = true;
}
A.prototype.doSth = function doSth() {
return !this.b;
}
module.export = new A();
文件 B:
var foo = bar(); // returns type of A
现在我想要 "foo." 的代码完成,因此它会建议 foo.b、foo.doSth、...
我尝试了很多 JSDoc 条目,例如 @class、@constructor 并使用 @type {A} 来定义 foo 的类型,例如
/* @type {A} */
var foo = bar();
但 WebStorm 不识别类型 A。它不执行代码完成,而且 Ctrl+单击括号中的类型 A 说 "Cannot find declaration to go to"。
知道如何正确执行此操作吗?
看来我找到了解决办法。问题只是我用来标记变量类型的语法:
/**
* @class
*/
function A(){
this.b = true;
}
A.prototype.doSth = function doSth() {
return !this.b;
}
module.export = new A();
与
合作/**
* @type {A}
*/
var foo = bar();
注意注释语法的区别: 以前我尝试使用
/* @type {A} */
var foo = bar();
这是行不通的。 @class
也可以换成@constructor