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 中显示参数。
我已经 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 中显示参数。