Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.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
Javascript VSCode仅在’;它是从某处进口的;如何在Foo.js本身中启用intellisense?_Javascript_Reactjs_Typescript_Visual Studio Code - Fatal编程技术网

Javascript VSCode仅在’;它是从某处进口的;如何在Foo.js本身中启用intellisense?

Javascript VSCode仅在’;它是从某处进口的;如何在Foo.js本身中启用intellisense?,javascript,reactjs,typescript,visual-studio-code,Javascript,Reactjs,Typescript,Visual Studio Code,该设置是一个“Create React App”,具有以下jsconfig.json: { "compilerOptions": { "experimentalDecorators": true, "baseUrl": "src" }, "include": ["src"] } 目录结构: . └── src └── Components

该设置是一个“Create React App”,具有以下
jsconfig.json

{
  "compilerOptions": {
    "experimentalDecorators": true,
    "baseUrl": "src"
  },
  "include": ["src"]
}
目录结构:

.
└── src
    └── Components
        └── Foo
            ├── Bar
            │   ├── Bar.js
            │   ├── Bar.d.ts
            │   └── index.js
            ├── Foo.js
            └── index.js


但是
Bar.js
本身并没有从自己的
Bar.d.ts
文件中获得intellisense,有没有办法修复它?我尝试了三重斜杠指令(
//
),但没有效果。一些JSDoc有帮助,但是有一个专用的声明文件并且仍然使用JSDoc是毫无意义的;它也可能只适用于VSCode,这是不可取的:

export function Bar(
  // When `type Props` is exported from the `.d.ts`:
  /** @type {import("./Bar").Props} */ props
) {

您可以像在typescript中一样使用JSDoc定义类、函数和所有内容

我做的最好的用法之一就是在文件中。
我不想提交包含DB凭据的文件。因此,我在JSDoc中定义了一个类、enum等。

到2020年9月,这是为了():

[…]不支持“将.d.ts作为.js的侧车”的场景。这里推荐使用jsdoc编写类型注释


关注TypeScript的开发,看看它将来是否会改变。

VSCode还允许您使用JSDoc获取类型提示——我在仅JS的项目中大量使用它,不过我会说明您是否愿意使用TS定义文件,为什么不一直使用TS?@Jhecht我确实是从JSDoc开始的,我不记得我在使用它时遇到了什么intellisense问题(很久以前),但这就是为什么我转而使用声明文件描述形状,这最终比JSDoc更适合我。我不想在细节上打扰您,但是要完全为项目提交TypeScript是非常困难的,因为这会增加另一层复杂性,而我还没有准备好处理。
// And gets full intellisense via `Bar.d.ts`:

type Props = {
  /** ... */
}

export declare function Bar(
  props: Props
): React.FunctionComponent
export function Bar(
  // When `type Props` is exported from the `.d.ts`:
  /** @type {import("./Bar").Props} */ props
) {