これで、WebstormとVSCodeはトップレベルのプロパティ、継承されたプロパティなどの適切なインテリセンスのみを行うことに気付きました。トリックとして、継承されたプロパティであるスーパークラスにプロパティを追加しますが、そのスーパークラスから型を参照するだけです。サブクラスフィールドのスーパークラスフィールドのタイプを参照する方法
私は継承されたプロパティの一部を表示するには、IDEをだましたい:ここ
は、2つのトップレベルのプロパティは太字であり、継承されたプロパティが灰色になっていることを示すスクリーンショットであります大胆にもとった?
私は、次のインタフェースを持って、一方が他方を拡張:
export interface IHookOrTestCaseParam {
slow:() => void,
fatal: (err: any) => void,
callbackMode: boolean,
timeout: Function,
done: Function,
skip:() => void,
set: (k: string, v: any) => void,
get: (k?: string) => any,
getValues: (...args: Array<string>) => Array<any>;
getMap: (...args: Array<string>) => Object
wrap: (fn: Function) => Function
wrapFinal: (fn: Function) => Function;
final: (fn: Function) => void;
log: (...args: Array<string>) => void;
wrapFinalErrorFirst: (fn: Function) => Function;
wrapErrorFirst: (fn: Function) => Function;
handleAssertions: (fn: Function) => void;
assert: typeof chai.assert
expect: typeof chai.expect
should: typeof chai.should
}
export interface ITestCaseParam extends IHookOrTestCaseParam {
// the t in t => {}
(err?: Error): void
skip: IHookOrTestCaseParam.skip, // <<<< here is a problem
pass: Function,
fail: Function,
assert: typeof chai.assert,
}
私は私のIDEでこれを参照してください。
私はこの変更した場合:
skip: IHookOrTestCaseParam.skip,
をこれまで
skip: IHookOrTestCaseParam['skip'],
エラーメッセージが離れて行くようだ:
誰も私が何をしようとしていますかを理解し、それを行うための良い方法を知っていますか?
として、それはタイプではありません。あなたは何をしようとしているのですか? – SLaks
プロパティは自動的に継承されます。何もする必要はありません。 – SLaks
**プロパティは自動的に継承されますが、intellisenseは継承されたプロパティではうまく機能しませんので、再参照してください。** –