gpt4 book ai didi

javascript - VSCode 仅在某处导入时通过相应的 Foo.d.ts 为 Foo.js 提供智能感知;如何在 Foo.js 本身中启用智能感知?

转载 作者:行者123 更新时间:2023-12-01 15:11:24 25 4
gpt4 key购买 nike

设置是一个“创建 React 应用程序”,带有以下 jsconfig.json :

{
"compilerOptions": {
"experimentalDecorators": true,
"baseUrl": "src"
},
"include": ["src"]
}
目录结构:
.
└── src
└── Components
└── Foo
├── Bar
│ ├── Bar.js
│ ├── Bar.d.ts
│ └── index.js
├── Foo.js
└── index.js
// React component `Foo` imports a component `Bar`:

import { Bar } from './Bar'

export function Foo(props) {
//
}
// And gets full intellisense via `Bar.d.ts`:

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

export declare function Bar(
props: Props
): React.FunctionComponent
但是 Bar.js自身无法从自己的 Bar.d.ts 获得智能感知文件,有办法解决吗?我尝试了三斜杠指令( /// <reference path="Bar.d.ts"/> ),但没有帮助。一些 JSDoc 有所帮助,但是有一个专门的声明文件并仍然使用 JSDoc 是没有意义的;它也可能只适用于 VSCode,这是不可取的:
export function Bar(
// When `type Props` is exported from the `.d.ts`:
/** @type {import("./Bar").Props} */ props
) {

最佳答案

自 2020 年 9 月起,这旨在 (source):

[...] there is no supported scenario for "the .d.ts is a sidecar to the .js". The recommended thing to do here is use JS Doc to write your type annotations.


关注 TypeScript 的发展,看看 future 会不会有变化。

关于javascript - VSCode 仅在某处导入时通过相应的 Foo.d.ts 为 Foo.js 提供智能感知;如何在 Foo.js 本身中启用智能感知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63235665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com