关于vs2012 javascript智能感知

Regarding vs2012 javascript Intellisense

本文关键字:感知 智能 javascript vs2012 关于      更新时间:2023-09-26

我有自定义的javascript代码在A.js文件,有智能感知与它相关联,我有a.i.nse.js文件在与A.js相同的文件夹中。

A.js的内容:

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

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

a.s intelisense .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。

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

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

如果test是一个全局变量

您可以使用:

将test注释为变量:
intellisense.annotate(window, {
    // This is a comment about "test"
    "test": undefined
});

如果test是一个函数

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

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

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