私は VS2008 で jQuery IntelliSense を使用してきました。最近、jQuery UI への参照を追加しましたが、それ以来、jQuery IntelliSense はなくなりました。ドキュメントで別の .js ファイルを参照すると、IntelliSense がなくなることがわかりました。これを回避する方法はありますか?
6 に答える
参照されたファイルにエラーがある場合、同じドキュメントからのすべてのファイル参照のインテリセンスが壊れます。Visual Studio の次のバージョンは、この点でより堅牢になる予定です。この脆弱性について直接お詫び申し上げます。VS9 の外部参照をより堅牢にすることを妨げる設計上の決定を早い段階でいくつか行いました。
それまでの間、次の回避策を使用してください。Slace から提供されたリンクから SP1 をインストールします。.js という名前のファイルへの参照があり、同じ場所に -vsdoc.js という名前のファイルがある場合、JS IntelliSense は -vsdoc バージョンを取得します。そのスクリプトが空の場合、エラーは生成されません。IntelliSense の生成が失敗する原因となっている jquery プラグインを特定し、その横に -vsdoc バージョンを配置します。UI のインテリセンスは取得できませんが、jquery やその他の機能するプラグインは取得できます。
vsdoc バージョンに入力したものはすべて、IntelliSense に表示されます。必要に応じて、表示したいデータ構造のスプーフィング バージョンをインテリセンスに入れることができます。
後で参照される JavaScript ファイルの 1 つにバグがある可能性があります。JS ファイルを開き、"Updaing JavaScript Intellisense" が Visual Studio のステータス バーから消えたら (JS インテリセンスを強制的に更新するメニュー オプションがあります。どこにあるか覚えていません。キーボード ショートカットを作成しただけです)。 [ツール] -> [オプション] -> [キーボード] 領域から) [エラー] ウィンドウを開き、[警告] の下に、インテリセンスの読み込みに失敗した理由を見つける必要があります。
これは通常、ファイルの 1 つを解析するときに見つかったバグですが、多くのファイルを参照したときにスタック オーバーフローが発生しました。
編集: また、この VS パッチがインストールされていることを確認する必要があります: http://code.msdn.microsoft.com/KB958502および VS 2008 SP1 (最初に SP1 をインストールしてください!)。次に、次のものが必要です。
/// <reference path="/path/to/jquery-1.3.1.js" />
IntelliSense ファイルを維持していることを確認する-vsdocs
と、自動的に取得されます (参照するファイルと同じフォルダーにある場合)。
もう少し良い解決策を提示したいと思います。数か月前、私はこの問題に取り組み、jQueryUI用の非常に基本的なvsdocファイルを作成しました。これがブログ投稿へのリンクです(ダウンロード用のファイルがあります)。
すばらしい、微調整は、面倒な *.js ファイルごとに空の *-vsdoc.js ファイルを作成することです。
たとえば、次のような匿名関数が原因でこのエラーが発生したことがわかりました。
(function($) {
$.anything...;
})(jQuery);
これがhttp://code.msdn.microsoft.com/KB958502および JScript IntelliSense チームの作成に役立つことを願っています。
上記のアドバイスに従って、マイナーな拡張機能を使用してこれを解決しました。私にとっての秘訣は、自分のページに jqueryui.com ライブラリと、作成したファイルの空の -vsdoc.js バージョンの両方への参照を追加することでした。
<script type="text/javascript" src="../../Scripts/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript" src="../../Scripts/jquery-ui-1.7.2.custom.min-vsdoc.js"></script>
お役に立てれば!