我有像这样的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
参数?我希望它能显示出来:
除了它还应该显示带问号的可选项。当我输入参数时,它应该像这样显示该参数的描述:
答案 0 :(得分:1)
问题是您已将params
参数的类型指定为Object
。你应该把你的参数作为第二个@typedef
:
/**
* @typedef SearchOptions
* @property {String} [what="Everything"] The thing
* @property {String} [where] A place
*/
/**
* @param {SearchOptions} params
*/
function getSearchTerms(params){ ... }
使用这样的命名界面,VSCode应该像你正在寻找的那样在Intellisense中显示参数。