0

我在 A.js 文件中有自定义 javascript 代码,要与它关联 intellisense,我在与 A.js 相同的文件夹中有 A.intellise nse.js 文件。

A.js的内容:

 var test = (typeof test === "undefined") || !test ? {} : test;


 test= (function () {
              return {
                 Version: "1.0.0"
           };
     }());

A.intellisense.js 的内容

intellisense.annotate(window, {
"test": function () {
    /// <signature>
    ///   <summary>The Version of the test JavaScript Lbrary</summary>
    /// </signature>
   }
 });

由于测试是在窗口级别定义的,因此我可以在 B.js 文件中使用测试函数,而无需在其中引用 A.js。当我输入 test() 时,我没有得到任何智能感知,我哪里出错了。

PS:即使我有 _reference.js 文件,其中也提到了 A.js。

4

1 回答 1

1

您接近正确的解决方案 - 问题是在您的示例源中,您将 test 定义为全局变量,而不是全局函数。在您的 A.intellisense.js 文件中,您将其注释为函数,但由于它不是函数,因此您不会看到任何注释。

根据您的意图,这里有几个解决方案可以帮助您。

如果 test 应该是一个全局变量

您可以使用以下命令将 test 注释为变量:

intellisense.annotate(window, {
    // This is a comment about "test"
    "test": undefined
});

如果测试应该是一个函数

然后您可以将 test 定义为函数,并且您的注释应该可以工作:

function test() {
    return {
        "Version": "1.0.0"
    }
}

我希望这有帮助!- Jordan(Microsoft Visual Studio PM - JavaScript 工具)

于 2013-05-03T19:15:13.977 回答