ブレーンストーミングが必要です。Visual Studio2008に組み込まれているJavascriptIntellisenseと一緒にうまく機能しないように見えるJavascriptライブラリ(jQuery、ExtJSなど)に問題があります。これらは、Intellisenseが理解できない特定のユーティリティヘルパー関数を提供します。
すなわち。ExtJSコード
// convenience function to create namespace object placeholders
Ext.namespace("Root.Sub.Subsub");
またはjQuery
// doing the same thing in jQuery
$.extend(window, {
Root: {
Sub: {
Subsub: {}
}
},
});
または(私はこのコードを維持する必要があります)
$.extend(window, { Root: {}});
$.extend(Root, { Sub: {}});
$.extend(Root.Sub, { Subsub: {}});
これらの呼び出しの最終結果は基本的に同じです。Visual Studio2008のJavascriptIntellisenseで名前空間を表示することRoot
はできません。内部でインテリセンスがどのように機能するかを知っていれば、この状況を克服できる可能性があります。
次のようなオブジェクトを直接記述せずに、Intellisenseにこれらの名前空間を表示/認識するように説得することは可能ですか?
Root = {
Sub: {
Subsub: {}
}
};
最初のjQuery呼び出しはこれと非常に似ていることを認めますが、既存の機能/名前空間の削除/上書きを防ぐために、拡張機能を使用することをお勧めします。
質問
Intellisenseを機能させるには、これらのユーティリティ関数をどのように使用する必要がありますか?
これに光を当てるブレインストーミングの答えは大歓迎ですか?
編集
ユーティリティ関数で作成された名前空間は、外部で(つまり、別のスクリプトファイルで)定義されている場合に表示され、次のようにそのファイルを参照することがわかりました。
/// <reference path="different.script.file.js" />
この場合、すべてが正常です。ただし、同じファイル内でユーティリティ関数を呼び出すと、それらはインテリセンスのドロップダウンリストに表示されません。