vs 2017 Intellisense使用JavaScript的关闭参数



我的打字稿产生一个.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

我得到了Microsoft的答案。这有效:

(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()

最新更新