我该怎么做才能在Visual Studio中为我自己的js库获取javascript intellisense

时间:2011-06-23 10:43:20

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

我有多个javascript文件,他们有自己的功能。如果我将其中一个引用到其中任何一个内部,如果该函数不是原型,它就不会看到它的函数。智能感知中的逻辑是什么?

我想在下面使用具有Intellisense功能的Splash功能,我该怎么做?

//My.js
/// <reference path="Test.js" />

//Test.js
NameSpace.prototype.UI = new function () {

    this.Splash = function (value) {
        try {
            if (value == 1) {
                $('#splash').css('height', $(document).height());
                $('#splashContent').css('top', $(window).height() / 2);
                $('#splash').fadeIn();
                $('#splashContent').fadeIn();
                setTimeout("SF.UI.Splash(0)", 3000);
            }
            else if (value == 0) {
                $('#splash').fadeOut(1000);
                $('#splashContent').fadeOut(1000);
            }
            else if (value == 3) {
                $('#splash').css('height', $(document).height());
                $('#splashContent').css('top', $(window).height() / 2);
                $('#splash').fadeIn();
                $('#splashContent').fadeIn();
            }
        } catch (e) {
            Splash(0);
        }
    }
}

2 个答案:

答案 0 :(得分:3)

JS Intellisense充其量只是片状。尽管有这些文章,根据我的经验,它并不像宣传的那样有效。我建议:

  • 确保所有JS文件都在同一个项目中(使得跨项目的工作更加棘手)。
  • 确保/// <reference path="Test.js" />是JS中的第一行。
  • 确保Test.js文件中没有错误(确保在其上运行JSLint)或使用vsdoc方法。
  • 查看Output工具窗口,看它是否包含与更新智能感知相关的任何错误。这将帮助您排除故障并删除引用的JS文件中的错误。

创建Test-vsdoc.js文件的替代方法(这样,即使主JS文件有错误,也不会导致intellisense失败):

//Test-vsdoc.js
NameSpace.prototype.UI = new function () {

    this.Splash = function (value) {
    /// <summary>This is my function summary</summary>
    }
}

VS会在下次重启IDE时自动包含它(或尝试强制更新 Ctrl + Shift + J

答案 1 :(得分:1)

假设这是你的js文件的实际内容,包括//My.js评论,那么这就是你的问题。

/// <reference评论必须位于文件的最顶层,在任何其他内容之前,否则它们将无效。

旁注,您知道该引用的代码段吗?其ref,然后是标签 标签。您也可以拖放文件并获取评论。

完成参考后,您可以在编辑时按 Ctrl + Shift + J 强制VS2010刷新您的js注释.js文件