构造函数重载的typescript intellisense问题

构造函数重载的typescript intellisense问题,typescript,visual-studio-code,typescript-typings,typescript2.0,Typescript,Visual Studio Code,Typescript Typings,Typescript2.0,我正在尝试用typescript编写一个插件。我声明了这样一个接口: interface Options { options1: string, options2: number, options3: boolean, ... } 此外,我还将其用作此导出类可能采用并重载的选项: export class MyClass { constructor(public options: Options = {} as Options) { // options

我正在尝试用typescript编写一个插件。我声明了这样一个接口:

interface Options {
  options1: string,
  options2: number,
  options3: boolean,
  ...
}
此外,我还将其用作此导出类可能采用并重载的选项:

export class MyClass {
    constructor(public options: Options = {} as Options) {
        // options which can be overload
        let {
            /* default options: */
            option1 = 'option1',
            option2 = 2,
            option3 = true,
            ...
        }: Options = options as Options;
        // overload
        this.options.option1 = option1;
        this.options.option2 = option2;
        this.options.option3 = option3;
    }
}
最后我实例化了它

const class1 = new MyClass({
    ...
})
我正在使用vscode作为我的编辑器。智能感知只给了我这样的提示,这对我来说毫无意义:

interface Options {
  options1: string,
  options2: number,
  options3: boolean,
  ...
}
MyClass(选项?:选项)

我想应该是这样的:

interface Options {
  options1: string,
  options2: number,
  options3: boolean,
  ...
}
MyClass(选项?:{options1:string,options2:number…})


有人知道为什么会发生这种情况,以及如何使intellisense按预期工作吗?

TypeScript跟踪这一点时存在一个问题。但是,这种方法的一个问题是,当选项很长时,它不会提供完整的细节

现在它实际上运行得很好。你能做的是:

const class1 = new MyClass({
  // [Ctrl+space] here
})

它将实际列出带有IntelliSense的选项属性
option1
option2
等。

Thx![Ctrl+space]获取我想要的内容。希望以后能解决这个问题。