【问题标题】:Regarding vs2012 javascript Intellisense关于 vs2012 javascript Intellisense
【发布时间】:2013-03-15 11:52:13
【问题描述】:

我在 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。

【问题讨论】:

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


    【解决方案1】:

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

    这里有几个解决方案可以帮助您,具体取决于您的意图。

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

    您可以使用以下方法将 test 注释为变量:

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

    如果测试应该是一个函数

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-06-03
      • 2013-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-04
      • 2021-09-11
      • 1970-01-01
      相关资源
      最近更新 更多