【问题标题】:WebStorm and Optional Parameters in JSDoc AnnotationsJSDoc 注解中的 WebStorm 和可选参数
【发布时间】:2013-08-25 18:31:44
【问题描述】:

我正在开发一个在特殊 C 环境中运行的 JavaScript 项目。该环境有一些我需要使用的功能,我想添加一些虚拟文档文件来提供代码完成和类型检查。根据 StackOverflow 上的另一个答案,我可以执行类似下面的代码来仅从注释创建函数。

/**
 * @namespace Clib
 */
/**
 * @name Clib#test
 * @function
 * @param {String} [var=''] Some variable.
 */

使用 JSDoc 生成 HTML 文件效果很好,大部分情况下与类型检查和代码完成相同。但是,WebStorm 似乎不理解可选参数,除非有附加代码。

从我上面的例子中,WebStorm 发出警告,因为它认为

Clib.test();

无效,因为它缺少参数,即使我将参数放在 [] 中并设置了默认值。

现在,如果我要说

Clib.test = function(var1){};

在注解下,WebStorm 识别可选参数。两者都从

中删除了警告
Clib.test();

并在代码完成框中显示 var1 是可选的。

如果有其他方法,我宁愿不为这些环境函数中的每一个编写快速模型。

我的注释有什么不正确的地方吗?或者这是 WebStorm 的限制?

谢谢

【问题讨论】:

  • 我认为你最好使用 Typescript。 Webstorm 更好地理解 Typescript 定义文件。
  • 您的代码没有问题。这是 WebStorm JSDoc 支持中的一个错误 - 请投票给WEB-8968
  • @GamesBrainiac 我会检查 Typescript 定义文件。从来没有想过在这种情况下使用 Typescript。
  • @lena 感谢您指出该错误。我投了赞成票。很高兴知道我的注释没有问题。

标签: webstorm jsdoc


【解决方案1】:

查看 Typescript 定义文件支持。它是静态分析走向 webstorm 的地方。在 webstorm 7 中,Jetbrains 将其用于静态分析,而不是真正依赖 jsdocs。

【讨论】:

    猜你喜欢
    • 2017-03-31
    • 2013-12-12
    • 2013-09-29
    • 2017-11-13
    • 2014-11-10
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 2015-06-02
    相关资源
    最近更新 更多