由于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>
标签,但无济于事。
如果有人对如何实现这一点有任何想法,请告诉我。
布兰登
答案 0 :(得分:2)
您可以使用以下语法强制换行:
/// <summary>
/// My method description
/// </summary>
/// <param name="options" type="Object">
/// A JSON Object
/// 1 - prop1: name
/// 2 - prop2: id
/// 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" );
};
生成的工具提示确实将它全部放在一行上,但由于每个项目的结构(特别是因为每个项目的末尾都有一个'。'),它仍然具有相当的可读性。