2011-02-23 87 views
3

试图熟悉Visual Studio的XML javascript注释语法。我有一个关于类型的具体问题。说我有诸如自定义类型...Javascript /// <field type =?>用于实例化自定义对象

namespace.types.User = function(_id, _name) { 
    /// <field name="id" type="Number">ID of the user</field> 
    /// <field name="name" type="String">Name of the user</field> 
    this.id = _id; 
    this.name = _name; 
}; 

如果我想以后我会做类似引用在<field>该类型...

namespace.session = function() { 
    /// <field name="CurrentUser" type="namespace.types.User">The current User of the session</field> 
    this.CurrentUser = new namespace.types.User('foo', 'bar'); 
}; 

然而,当我做这个Intellisense会告诉我什么.CurrentUser意味着但是的描述它不会显示任何建议.id.name。换句话说,它就像一个没有其他类型数据的普通对象。

如何获得VS智能来获取更丰富的自定义对象的描述?

回答

1

尝试在函数签名中放入参数的xml注释。

namespace.types.User = function(_id, _name) { 
    /// <param name="_id" type="Number" /></param> 
    /// <param name="_name" type="String" /></param> 
} 

它似乎并不像/// <场> < /场>语法帮助与智能感知的字段值,它唯一的智能感知从分配回升。因此,它不知道传入参数的类型是什么,它们不会传递到这些字段上。

你会认为添加/// <字段> < /字段>将覆盖字段类型智能感知。特别是如果您曾经使用IDE或支持来自代码注释的智能感知的工具。但目前在VS 2010中似乎不是这种情况。

此外,您可能不希望将名称空间用作变量或标识符,即使它用作示例或替换实际名称空间。

命名空间是JavaScript的保留关键字。 (尽管一些像mozilla这样的人已经预留了包)。

+0

看来,VS2012仍然不尊重评论以覆盖javascript的智能感知。 – 2013-06-07 19:21:12