2013-03-25 52 views
0

我在A.js文件自定义JavaScript代码,有与之相关的智能感知,我在同一个文件夹A.js. A.intellise nse.js文件关于vs2012 JavaScript智能

内容A.js的:A.intellisense.js的

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


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

内容

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

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

这里有几个解决方案,来帮助你,这取决于你的意图。

如果测试应该是一个全局变量

您可以通过使用注释测试作为一个变量:

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

如果测试应该是一个功能

然后,你可以定义测试的功能,和你的注释应该工作:

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

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