使用Visual Studio的JavaScript IntelliSense模仿Casting

Ped*_*ice 7 javascript intellisense visual-studio-2010 visual-studio

我通过如下所示的数组将jQuery对象传递到另一个文件的函数中:

$(document).bind("loadStoreDisplayCallGoals", function(source, urlParams)
{
    var selectedStoreDocument = urlParams["storeDocument"];
}
Run Code Online (Sandbox Code Playgroud)

selectedStoreDocument应该是一个jQuery对象,但Visual Studio Intellisense永远不会识别它.我尝试添加扩展selectedStoreDocument$.extend:

// cast selectedStoreDocument to a jQuery type
$.extend(selectedStoreDocument, $);
Run Code Online (Sandbox Code Playgroud)

然而,延长selectedStoreDocument打掉了我所有的jQuery方法(.each,.find等).

如何selectedStoreDocument在IntelliSense中显示为jQuery对象?请注意,我在Visual Studio 2010中工作.

Ped*_*ice 6

我为实用程序函数创建了一个单独的文件,为实用程序函数+ VSDoc创建了第二个文件.

utilities.js:

function castToJQuery(item)
{
    return item;
}
Run Code Online (Sandbox Code Playgroud)

公用事业,vsdoc.js:

function castToJQuery(item)
{
    /// <summary>
    ///     1: $(item) - "Casts" the specified item to a jQuery object for the sake of Intellisense
    /// </summary>
    /// <returns type="jQuery" />
    return $("dummy");
}
Run Code Online (Sandbox Code Playgroud)

现在我可以在任何下游文件中调用castToJQuery,以使Visual Studio认为动态属性是一个jQuery对象.

var selectedStoreDocument = castToJQuery(urlParams["storeDocument"]);
selectedStoreDocument.find("products");
Run Code Online (Sandbox Code Playgroud)

Visual Studio现在可以与Intellisense一起使用我的动态urlParams ["storeDocument"].