VSCode 没有在对象中显示正确的参数

VSCode not showing proper params in object

我已经 jsdoc 像这样编辑了我的函数:

/**
 * @typedef {Object} SearchTerms
 * @property {string} what
 * @property {string} where
 * @property {boolean} online
 */

/**
 * From react-router params, which are URL encoded, it figures out the "what", "where", and "online" terms.
 *
 * @export
 * @param {Object} params The `params` field from react-router component props.
 * @param {string} [params.what="Everything"] The subject of users search.
 * @param {string} [params.where] The location of users search.
 * @returns {SearchTerms}
 */
export function getSearchTerms(params)  {

然而,params 键在悬停该功能时未正确展开:

有没有办法正确扩展 params 参数?我希望它显示:

除了它还应该用问号表示它是可选的。当我输入参数时,它应该像这样显示该参数的描述:

问题是您将 params 参数的类型指定为 Object。你应该把你的参数分解为第二个 @typedef:

/**
 * @typedef SearchOptions
 * @property {String} [what="Everything"] The thing
 * @property {String} [where] A place
 */

/**
 * @param {SearchOptions} params
 */
function getSearchTerms(params){ ... }

使用这样的命名接口,VSCode 应该会像您正在寻找的那样在 Intellisense 中显示参数。