首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WebStorm JSDoc类声明,用于使用node.js模块完成代码

WebStorm JSDoc类声明,用于使用node.js模块完成代码
EN

Stack Overflow用户
提问于 2016-02-15 19:23:42
回答 1查看 1K关注 0票数 2

我想知道如何在JSDoc 11中正确地使用WebStorm 11标记node.js应用程序中的类和类型以获得代码完成等。

示例:

A档案:

代码语言:javascript
运行
复制
function A(){
    this.b = true;
}
A.prototype.doSth = function doSth() {
    return !this.b;
}
module.export = new A(); 

档案B:

代码语言:javascript
运行
复制
var foo = bar(); // returns type of A

现在我想要“foo”的代码完成,因此它建议foo.b、foo.doSth、.

我尝试了很多JSDoc条目,比如@class、@构造函数,并使用@type {A}来定义foo类的类型

代码语言:javascript
运行
复制
/* @type {A} */
var foo = bar();

但是WebStorm不识别A类型,它没有代码完成,括号中的类型A上的Ctrl+Click也说“找不到要去的声明”。

知道怎么做正确吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-19 21:05:02

看来我找到了解决办法。问题只是我用来标记变量类型的语法:

代码语言:javascript
运行
复制
/**
 * @class
 */
function A(){
    this.b = true;
}
A.prototype.doSth = function doSth() {
    return !this.b;
}
module.export = new A(); 

同工

代码语言:javascript
运行
复制
/**
 * @type {A}
 */
var foo = bar();

注意注释语法上的差异:以前我尝试使用

代码语言:javascript
运行
复制
/* @type {A} */
var foo = bar();

这不起作用。@class也可以与@constructor交换

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35417434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档