我在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。
答案 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工具)