VS2010:javascript intellisense:指定传递给方法的'options'对象的属性

时间:2010-05-04 17:19:22

标签: javascript visual-studio-2010 intellisense vsdoc

由于javascript intellisense实际上似乎在VS2010中有效,我想我可能会在几乎所有内容中添加一些脚本。

问题是,在一些复杂的函数中,我使用选项对象而不是传递不同的参数,如下所示:

function myFunc(options){
    var myVar1 = options.myVar1,
        myVar2 = options.myVar2,
        myVar3 = options.myVar3;
    ...
}

我遇到的麻烦是,似乎没有办法指定options需要具备哪些属性。我试过这个:

function myFunc(options){
    ///<summary>my func does stuff...</summary>
    ///<param name="options">
    ///myVar1 : the first var
    ///myVar2 : the second var
    ///myVar3 : the third var
    ///</param>

    var myVar1 = options.myVar1,
        myVar2 = options.myVar2,
        myVar3 = options.myVar3;
    ...
}

但删除换行符并且所有属性注释一起运行,使得它们难以阅读。

我已经尝试了<para>标签,但无济于事。

如果有人对如何实现这一点有任何想法,请告诉我。

布兰登

3 个答案:

答案 0 :(得分:2)

您可以使用以下语法强制换行:

/// <summary>
///   My method description  
/// </summary>
/// <param name="options" type="Object">
///     A JSON Object
///     &#10;1 - prop1: name
///     &#10;2 - prop2: id
///     &#10;3 - onSuccess: function to exec
/// </param>

答案 1 :(得分:1)

使用Microsoft的JScript编辑器扩展程序:http://visualstudiogallery.msdn.microsoft.com/872d27ee-38c7-4a97-98dc-0d8a431cc2ed

现在支持

<para>个标签

答案 2 :(得分:0)

jQuery的vsdoc文件使用了这种方法。你只需要尝试格式化它,即使它在一条线上都有点可读。例如,这里是jQuery 1.4.1 vsdoc文件的摘录:

jQuery.fn[ "blur" ] = function( fn ) {
/// <summary>
///     1: blur() - Triggers the blur event of each matched element.
///     2: blur(fn) - Binds a function to the blur event of each matched element.
/// </summary>
/// <param name="fn" type="Function">The function to execute.</param>
/// <returns type="jQuery" />

return fn ? this.bind( "blur", fn ) : this.trigger( "blur" );

};

生成的工具提示确实将它全部放在一行上,但由于每个项目的结构(特别是因为每个项目的末尾都有一个'。'),它仍然具有相当的可读性。