簡體   English   中英

VS 2017 Intellisense使用javascript的閉包參數

[英]VS 2017 Intellisense for parameters of closures with javascript

我的TypeScript生成一個.d.ts文件。 這是TS項目的完美選擇:

declare function myGlobal(html: string): string;

declare module myHmi {
    class bla {
        static myStatic(bla: string): string;
    }
}

但是其他團隊正在使用JS,並希望使用我們不錯的類型。 他們在項目內部有.d.ts文件。 VS2017在新的JS語言服務(Salsa)中檢測到它。

var myHmi;
(function (myHmi) {
    // Here VS2017 knows myGlobal()
    // Here VS2017 detected myHmi as any. So it has no knowledge of myHmi.bla.myStatic()

    main code...

})(myHmi || (myHmi = {}));

// Here VS2017 knows myGlobal()
// Here VS2017 knows myHmi.bla.myStatic()

我們可以使用提示(@jsdoc魔術嗎?)來告訴VS,內部myHmi是外部myHmi的擴展嗎?

編輯:幾天后報告為https://github.com/Microsoft/TypeScript/issues/21877

我從微軟那里得到了答案。 這有效:

(function (myHmi) {
    // Here VS2017 knows myGlobal()
    // Here VS2017 knows myHmi.bla.myStatic()

    main code...

})(myHmi);

// Here VS2017 knows myGlobal()
// Here VS2017 knows myHmi.bla.myStatic()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM