Intellij 说“未解析的变量或类型”,但它是使用 @name 定义的

Ami*_*ein 1 intellij-idea jsdoc webstorm jsdoc3

这是代码:

/**
 * @name Me
 * @property {String} name
 * @property {Number} minVer
 * @property {Number} maxVer
 */

/** @type {Me}  the moshe*/
var y;
Run Code Online (Sandbox Code Playgroud)

为什么 IntelliJ 说 {Me} 未定义?

截屏

Chr*_*ris 5

如果你使用@typedef而不是@name,IntelliJ 会更高兴:

/**
 * @typedef {Object} Me
 * @property {String} name
 * @property {Number} minVer
 * @property {Number} maxVer
 */

/** @type {Me}  the moshe*/
var y;
Run Code Online (Sandbox Code Playgroud)

  • 快到了;)您忘记了在“@typedef”行中实际声明类型,它必须是“@typedef {Object} Me”。否则,您会在 IntelliJ 中收到警告:“未解析的变量或键入 Me”。尽管如此,你的例子给了我正确解决方案的决定性提示,所以谢谢你! (3认同)