1

由于 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>标签,但无济于事。

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

-布兰登

4

3 回答 3

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>
于 2011-07-28T21:02:15.070 回答
1

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

<para>现在支持标签

于 2011-07-29T23:03:54.373 回答
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" );

};

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

于 2010-05-04T18:12:25.220 回答