JSDoc 注释中的 WebStorm 和可选参数

标签 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 的限制?

谢谢

最佳答案

查看 Typescript 定义文件支持。它是静态分析走向 webstorm 的地方。在 webstorm 7 中,Jetbrains 使用它进行静态分析,并不太依赖 jsdocs。

关于JSDoc 注释中的 WebStorm 和可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18390411/

相关文章:

javascript - 如何使用 JSDoc3 注释 JS 模块模式类?

git - WebStorm(PhpStorm、IntelliJ IDEA、PyCharm)与 Git 的问题

node.js - 我在哪里可以存储 JSDoc typedef 信息以在项目之间共享?

javascript - 不支持的 jsdoc 规则修复

node.js - NodeJS require() 正在生成错误

javascript - 使用 JSDoc 记录 jQuery

javascript - Grunt/Docker 文件路径

node.js - 未解析的函数或方法 collection() - Firestore node.js

javascript - 在 WebStorm 中更改自动导入格式

node.js - 咕噜声 : Livereload doesn't work