如何在WebStorm或其他JetBrains产品中使用JSDoc注释消除“未解决的函数或方法”警告?

时间:2019-04-15 14:40:12

标签: ide webstorm jetbrains-ide jsdoc

在WebStorm,PyCharm和其他JetBrains产品中,您可以使用JSDoc注释通知WebStorm对象确实具有特定属性,从而消除警告。

@namespace@property都适用于普通对象属性,但是我找不到适用于函数的JSDoc命令。

const query = require(...);
...
Object.keys(record)
    .forEach(col => {
        query.set(col, record[col]);
    });

在上面的代码段中,.set(...)被WebStorm识别,并产生未解决的函数或方法警告。

这只是一个例子。我的项目使用了多个第三方库,其中许多库具有对象方法,这些对象方法会在使用时触发警告。这些库没有可用的打字稿定义,WebStorm的文件分析也没有找到它们。

我无法修改查询对象,也不能更改其导入方式。是否可以添加JSDoc注释来消除警告?我已经尝试了 @property @param @namespace @member 的多种变体。

注释:

我知道可以通过在函数使用上方的行上使用// noinspection JSUnresolvedFunction来禁用警告,但这是一个较差的解决方案。 JSDoc注释可以放在多个范围内,例如类或函数定义的开头。 JSDoc解决方案还提高了可读性,并在其他非JetBrains IDE中具有意义。

1 个答案:

答案 0 :(得分:1)

JSDoc提供了使用@type显式注释符号的方法

在您的示例中,可能是:

/** @type {QueryObjectTypeDef} */
const query = require(...);

使用函数args的内联注释也可以达到相同的效果(在WebStorm中进行了测试):

forEach((/* ColTypeDef */ col) => {...})