关于vs2012 javascript Intellisense

时间:2013-03-25 20:38:35

标签: javascript visual-studio-2012 javascript-intellisense

我在A.js文件中有自定义的javascript代码,有智能感知关联它,我有A.intellise nse.js文件与A.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()时,我没有得到任何智能感知,我错了。

P.S:即使我有_reference.js文件,也会引用A.js。

1 个答案:

答案 0 :(得分:1)

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

根据您的意图,以下是一些帮助您的解决方案。

如果测试应该是全局变量

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

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工具)