2012-08-30 45 views
3

我喜歡Visual Studio的intellisense功能,包括爲我創建的方法生成自己的XML標記的功能。然而,有時評論實際上會阻礙我看到我在做什麼(特別是當方法長度爲幾行並且其智能感知比代碼本身長三至四倍時)!將Visual Studio 2012 JavaScript Intellisense標記移動到獨立文件

Under Visual Studio 2012中,應該可以將move the intellisense markup分配給一個單獨的文件,將.intellisense.js添加到文件名的末尾並將這些文件放在同一個目錄中。不幸的是,我似乎無法得到它的工作。

舉個例子,假設文件module.js包含以下代碼:

var module = (function (my) { 
    /// <summary>Description of the module</summary> 

    my.action = function(doThis) { 
     /// <summary>Take an action</summary> 
     /// <param type="String">Do this action</param> 
     /// <returns type="String" /> 
     return doThis.toLowerCase(); 
    } 

    return my; 
}(module || {})); 

我試圖創建名爲module.intellisense.js同一個目錄中的文件和移動從module.js XML註釋到這裏:

intellisense.annotate(module, { 
    'action': function() { 
     /// <summary>Take an action</summary> 
     /// <param type="String">Do this action</param> 
     /// <returns type="String" /> 
    } 
}); 

intellisense.annotate(window, { 
    'module': function() { 
     /// <summary>Description of the module</summary> 
    } 
}); 

保存文件後,我打了CtrlShift以強制智能感知進行更新,然後給它一些想法。之後,當我輸入module.action(時,我得不到智能感知幫助。 在Visual Studio 2012中需要做些什麼來實現功能性的自定義外部文件JavaScript intellisense?

+0

您是在構建Windows應用商店應用或網站項目時測試此功能嗎?另外,看起來你在模塊定義的最後有一個額外的結束符:(module || {})); –

回答

1
  1. 你在module.js的例子中有一個額外的右括號,所以它可能是一個問題。
  2. 據我所知,module.intellisense.js不適用於module.js本身。但其他文件,這將使用module.js工作正常。
  3. module.intellisense.js中的更改不會立即應用,即使使用Ctrl + Shift + J - 需要一些時間或文件操作。
+0

很好的回答!第一點是沒有意義的;在撰寫問題時,額外的括號是一個錯字。然而,你的第二點很關鍵......我試圖讓智能感知在「module.js」中工作。一旦我去了一個不同的文件,intellisense正在工作。 – saluce

+0

我意識到,智能感知會自動更新。如果僅使用本地文件,則Ctrl + Shift + J無法使用,此熱鍵更新遠程文件(腳本通過http://引入)。 –

相關問題