Visual Studio Code (VS-code) Typescript Intellisense 在省略中没有建议

问题描述 投票:0回答:1

所以我注意到Visual Studio Code 中的 Typescript 的 IntelliSense 在特定情况下无法正常工作。

IntelliSense 无法正常工作的问题之一是使用 Typescript 的 Omit 实用程序时。此类型允许您创建新类型/接口,其中排除现有类型/接口的某些属性。现在我的问题是,当我尝试忽略给定的接口时,我没有得到任何 IntelliSense。例如:

interface Article {
  name: string
  price: number
  stock: number
}

interface TestArticle extends Omit<Article, '<Article-interface-property>'> {}

在此示例中,我对 Article 界面的属性没有任何建议。但是,当使用 IntelliJ i 的 IntelliSense 时,会建议所有文章的属性。因此,我想知道在改进 Visual Studio Code 中的 Typescript IntelliSense 方面我缺少什么。

我正在使用以下扩展:

    npm 智能感知
  • EsLint
  • JavaScript 和 TypeScript 每晚
我正在使用以下打字稿版本:

"typescript": "^5.4.5"

"ts-node": "^10.9.1"

我还尝试将 Visual Studio Code 中用于 Typescript 的版本从 Vs-codes 的版本更改为工作区中安装的版本。不过,这也解决了眼前的问题。

Vs-Code 中使用的 Typescript 版本

我还按照

here

的建议设置了
"typescript.validate.enable": true。不幸的是这也没有解决问题。

typescript visual-studio-code autocomplete intellisense
1个回答
0
投票
内置

Omit

 实用程序的第二个类型参数未键入(键入为 
any
)。

type Omit<T, K extends keyof any> = Pick<T, Exclude<keyof T, K>>;
您可以自己打字:

type OmitTyped<Obj extends object, Keys extends keyof Obj> = Pick< Obj, Exclude<keyof Obj, Keys> >; // or simpler type OmitTyped<Obj extends object, Keys extends keyof Obj> = Omit<Obj, Keys>

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.