【发布时间】:2021-04-19 04:43:55
【问题描述】:
我正在开发一个 javascript 项目(使用 VSCode),我们使用 JSDoc 和 eslint 规则 valid-jsdoc。
我有一个具有一些属性的对象类型,例如:
/**
* @typedef {Object} Project
* @property {string} id
* @property {string} name
*/
在代码中我可以使用Project['id'] ex:
/**
* @param {Project['id']} projectId
*/
function myFunction(projectId) {}
它识别Project['id'] 类型,并在我将其悬停时指示它是string。
我想强迫大家写JSDoc,所以想用eslint规则valid-jsdoc。但是,该规则不知道类型 Project['id'] 并突出显示带有错误的 jsdoc
JSDoc syntax error
如果我使用它不会显示任何错误
/**
* @param {Project} project
*/
function myFunction(project) {}
或
/**
* @param {string} projectId
*/
function myFunction(projectId) {}
我觉得很遗憾不能使用Project['id'],而是使用string,因为这条规则,它不太明确,有时(对于更复杂的对象)可能会很麻烦。
有没有办法实现我想要做的事情?
【问题讨论】:
-
@param {Project.id} projectId可以代替吗? -
我试过了,但这甚至不被 JSDoc 接受:/
标签: javascript visual-studio-code eslint jsdoc