visual-studio-code - 如何让 VS Code 跨多个文件理解 JSDOC 的 @typedef

标签 visual-studio-code jsdoc

我想在一个文件中指定一种类型,并能够在另一个文件中重用它。我试过 modules但它在 VS Code 中不起作用。还有其他解决方案吗?只是想让我的项目的所有类型都可以重用,这样我就可以跨文件在不同的函数中引用它们。 This is the closest question我已经找到。

最佳答案

我在使用 jsconfig.json 方面取得了一些成功和它的 include Visual Studio Code 1.33.1 中普通 JavaScript 项目中的属性

{
  "include": [
    "src/**/*.js"
  ]
}

给定以下 JavaScript 项目:
src/
├── types/
|   ├── person.js
|   ├── question.js
|
├── answer.js
├── jsconfig.json

凡两者question.jsperson.js是类型定义:

人物.js

/**
 * @typedef {object} Person
 * @property {string} firstName
 * @property {string} lastName
 */

问题.js

/**
 * @typedef {object} Question
 * @property {Person} askedBy
 * @property {string} text
 */

answer.js是一个接受问题并返回答案的函数:

/**
 * Takes a question and return an answer
 * @param {Question} question 
 */
function answer(question) {
  return 42;
}

正如您在第一个截屏视频中看到的那样,当鼠标悬停在 Question 上时,我确实获得了 IntelliSense 支持。类型符号:

enter image description here

最重要的是,IntelliSense 现在还能够根据我的类型定义提供代码补全:

enter image description here

关于visual-studio-code - 如何让 VS Code 跨多个文件理解 JSDOC 的 @typedef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45836847/

相关文章:

javascript - 如何为 GitHub Pages 生成 JavaScript API 文档

javascript - 在 node.js 中引用 *documentation* @return 语句

regex - 使用正则表达式标志修饰符搜索 Visual Studio Code?

visual-studio-code - Visual Studio代码的editorconfig

javascript - JSDoc - 如何使用通用键名记录对象?

javascript - 如何扩展es6子类函数参数?

typescript - vscode 中用于 tensorflowjs 的智能感知

qt - 是否可以在 vscode 中调试 qml?

node.js - Pop-OS/Ubuntu 更新后找不到模块 '../build/Release/zmq.node'

bash - VSCode shell 任务转义单引号