我正在开发一个在特殊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的限制吗?
由于
答案 0 :(得分:0)
查看Typescript Definition文件支持。静态分析正在向webstorm发展。在webstorm 7中,Jetbrains正在使用它进行静态分析,而不是真正依赖于jsdocs。