2011-02-23 86 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