2010-12-18 18 views
10

のタイプはのは、私は以下のjavascript機能を持っていると言う知ってみましょうプロパティ。そうでなければ、msgは文字列であり、変数自体を出力します。私の質問は、Visual Studio 2010のJavaScript IntelliSenseにオブジェクトメッセージのタイプを「知っている」ようにする方法です。このような状況でオブジェクトタイプに対して正しいプロパティ/関数を取得するにはどうすればよいですか?は、Visual Studio 2010のJavaScriptのIntelliSenseはオブジェクト

答えて

6

残念なことに、Visual Studioの "pseudo-execution"のJavaScriptを使用すると、より優れたIntellisenseサポートを提供するにはまだ十分ではありません。

は例えば、私はこの小さな機能書いた:

var foo = function(obj) { 
    if (typeof obj === "string") { 
    // presumably Intellisense should know obj is a string 
    // in this compound statement but it doesn't. 
    // try "obj." here 
    } 

    if ((typeof obj === "object") && (obj.constructor === Date)) { 
    // presumably Intellisense should know obj is a Date 
    // in this compound statement but it doesn't. 
    // try "obj." here 
    } 

}; 

をそして、あなたはそれを試してみる場合はVS2010は、2つの句で、私は渡されたオブジェクトの種類を制限しようとしたことに気付くことはありません。したがって、より良い提案を提供することができます。だから、Intellisenseはローカル変数にかなり制限されているようです。

10

実際には、ローカル変数に限定されません。あなたはこのようなXMLコメントを使用してVSを助けることができる:

function foo(message) { 
    /// <param name="message" type="String"></param> 
    message. //ctr+space here 
} 

それはあなたが求めているまさにありませんが、一種類のみの引数を受け入れているとき、それは素晴らしい作品。

+0

優れた作品です。 +1 –

関連する問題