2013-03-02 98 views
0

我有一個腳本,retry.js,包含此:這個-vsdoc文件有什麼不對?

function retryAjax(load, count, config) { 
} 

有一個機構來它很明顯,但因爲出現這個問題我是否身在腳本或沒有也沒關係。

爲了證明對象這個函數返回時,我也有一個輔助-vsdoc.js文件,重試,vsdoc.js:

function RetryAjaxDeferred() { 
    /// <summary>Returned from retryAjax. A jQuery Ajax Deferred object extended to support failWillRetry()</summary> 

    this.done = function (success) { 
     /// <summary>A callback when the Ajax call succeeds.</summary> 
     /// <param name="success" type="Function">Success callback</param> 
    } 

    this.fail = function (error) { 
     /// <summary>A callback when the Ajax call fails permanently.</summary> 
     /// <param name="error" type="Function">Fail callback</param> 
    } 

    this.failWillRetry = function (willRetry) { 
     /// <summary>A callback when the Ajax call fails with retries pending.</summary> 
     /// <param name="willRetry" type="Function">Fail callback</param> 
    } 
}; 

有什麼奇怪的是,如果我刪除-vsdoc.js文件, Visual Studio 2012中的Intellisense對於retry.js工作正常(當然,除了返回的內容我沒有真正的幫助)。如果我放置了-vsdoc.js,則retryAjax函數不再可供Intellisense使用 - 它在輸入其參數時不會自動完成或顯示Intellisense信息。但是,RetryAjaxDeferred函數在Intellisense中確實處於活動狀態。

很明顯,-vsdoc.js文件中的某些內容以某種方式破壞了retry.js的Intellisense,但沒有足夠的破壞它,以防止它自己的內容消失。我究竟做錯了什麼?

回答

0

找到它 - 你需要參考實際的源文件中添加額外的智能感知,只有類等爲Visual Studio時:

/// <reference path="~/ui/retry.js"/> 
function RetryAjaxDeferred() { 
    . . . 

現在,當我引用retry.js在其他腳本和頁面內容它和它的-vsdoc文件都是Intellisense結果的一部分。