WebStorm和JSDoc注释中的可选参数

时间:2013-08-22 20:40:20

标签: webstorm jsdoc

我正在开发一个在特殊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的限制吗?

由于

1 个答案:

答案 0 :(得分:0)

查看Typescript Definition文件支持。静态分析正在向webstorm发展。在webstorm 7中,Jetbrains正在使用它进行静态分析,而不是真正依赖于jsdocs。