Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 如何让VS代码理解JSDOC';s@typedef跨多个文件_Visual Studio Code_Jsdoc - Fatal编程技术网

Visual studio code 如何让VS代码理解JSDOC';s@typedef跨多个文件

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

我想在一个文件中指定一个类型,并能够在另一个文件中重用它。我试过了,但在VS代码中不起作用。还有其他解决办法吗?只是想让我的项目的所有类型都可以重用,这样我就可以在不同的函数中跨文件引用它们。我发现。

嵌入在较新的VS代码中,可以使用JSDoc中的
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现在还能够根据我的类型定义提供代码完成:

为此发布了一个新版本。它已经关闭了,但我认为他们没有修复它。