【发布时间】: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 感谢您指出该错误。我投了赞成票。很高兴知道我的注释没有问题。