TypeScript JSDoc @typedef {property} description lost

omvjsjqw  于 6个月前  发布在  TypeScript
关注(0)|答案(4)|浏览(43)

TypeScript版本: 3.8.0-dev.20191125
搜索词:

  • jsdoc
  • typedef
  • property
    仓库

对于JS:

/** @typedef {Object.<string, any>} type
* @property {string} prop1 - Missing Description 1
* @property {string} prop2 - Missing Description 2
*/

/** @type {type} */
var a = {
    prop1: null,
    prop2: null
}

/** @type {type}
* @class */
function b(){
    this.prop1 = null;
    this.prop2 = null;
}

var c = new b();

输入c.prop1查看prop1建议

预期行为:

从typedef中显示描述: Missing Description 1

实际行为:

没有描述(但属性确实具有正确的类型)

s6fujrry

s6fujrry1#

这个问题有新进展吗?我遇到了和我库中的TS定义文件相同的问题。
这个可以正常工作:

type Test
{
 /** my prop description */
 myProp: boolean;
}

但是这个不行(这是按照JSDOC文档编写的所有库的文档方式):

/**
* @typedef {Object} borderPadding
* @property width - Total padding and border width.
* @property height - Total padding and border height.
* @property borderTop - The width of the top border.
* @property borderRight - The width of the right border.
* @property borderBottom - The width of the bottom border.
* @property borderLeft - The width of the left border.
* @property paddingTop - The width of the top padding.
* @property paddingRight - The width of the right padding.
* @property paddingBottom - The width of the bottom padding.
* @property paddingLeft - The width of the left padding.
*/
type borderPadding = {
width: number;
height: number;
borderTop: number;
borderRight: number;
borderBottom: number;
borderLeft: number;
paddingTop: number;
paddingRight: number;
paddingBottom: number;
paddingLeft: number;
};

r55awzrz

r55awzrz2#

我也很好奇一年后这个问题是否有任何更新。

5us2dqdw

5us2dqdw3#

作为解决方法,我注意到我可以在下一行记录我的描述,它们不会丢失。
例如:

/**
* @typedef {object}  Vector2
* @property {number} x
* My description for the x property
* @property {number} y
* My description for the y property
*/

这不是JSDoc文档中的做法,但它似乎能让intellisense正常工作。

k3bvogb1

k3bvogb14#

Visual Code的智能感知在新的行上没有显示描述,但这个解决方法对我有效:

/**
 * @typedef {object} Vector2 My Vector description
 * - x - My description for the x property
 * - y - My description for the y property
 * @property {number} x
 * @property {number} y
 */

结果:

相关问题