Visual studio code 如何让VS代码理解JSDOC';s@typedef跨多个文件
我想在一个文件中指定一个类型,并能够在另一个文件中重用它。我试过了,但在VS代码中不起作用。还有其他解决办法吗?只是想让我的项目的所有类型都可以重用,这样我就可以在不同的函数中跨文件引用它们。我发现。嵌入在较新的VS代码中,可以使用JSDoc中的Visual studio code 如何让VS代码理解JSDOC';s@typedef跨多个文件,visual-studio-code,jsdoc,Visual Studio Code,Jsdoc,我想在一个文件中指定一个类型,并能够在另一个文件中重用它。我试过了,但在VS代码中不起作用。还有其他解决办法吗?只是想让我的项目的所有类型都可以重用,这样我就可以在不同的函数中跨文件引用它们。我发现。嵌入在较新的VS代码中,可以使用JSDoc中的import语法,如下所示 /** * @typedef {import("koa").Context} Context * * @typedef {Object} BodyparserOptions * @prop {(ctx: Context
import
语法,如下所示
/**
* @typedef {import("koa").Context} Context
*
* @typedef {Object} BodyparserOptions
* @prop {(ctx: Context) => boolean} [detectJSON] Custom json request detect function. Default `null`.
*/
此外,VS代码还应该选择整个工作区中定义的所有类型。我在Visual Studio Code 1.33.1中的一个普通JavaScript项目中成功地使用了及其属性
{
“包括”:[
“src/***.js”
]
}
给定以下JavaScript项目:
src/
├── types/
| ├── person.js
| ├── question.js
|
├── answer.js
├── jsconfig.json
其中question.js
和person.js
都是类型定义:
person.js
/**
*@typedef{object}Person
*@property{string}firstName
*@property{string}lastName
*/
问题.js
/**
*@typedef{object}问题
*@property{Person}被询问
*@property{string}文本
*/
而answer.js
是一个接受问题并返回答案的函数:
/**
*接受一个问题并返回一个答案
*@param{Question}问题
*/
功能性回答(问题){
返回42;
}
正如您在第一个屏幕广播中看到的,当我将鼠标悬停在问题上时,确实获得了IntelliSense支持
除此之外,IntelliSense现在还能够根据我的类型定义提供代码完成:
为此发布了一个新版本。它已经关闭了,但我认为他们没有修复它。