次の方法で共有


JScript IntelliSense の概要

Microsoft JScript 用の IntelliSense を使用すると、Visual Studio または Microsoft Visual Web Developer Express のコード エディターでクライアント スクリプトのプログラミング要素に簡単にアクセスできます。 IntelliSense では、プロパティ、関数、オブジェクトなどのクライアント スクリプト コードの入力時に、コンテキストに適したコードを選択できます。 コード エディターを離れて、構文やパラメーターのドキュメントを探す必要はありません。 代わりに、コード エディターを使用したままで必要な情報を検索し、言語要素をコードに直接挿入できます。 JScript 用の IntelliSense は、マネージ コード言語用の IntelliSense と機能はほぼ同じです。

このトピックは、次のセクションで構成されています。

  • 背景

  • JScript IntelliSense の機能

  • JScript IntelliSense のエラーの概要

  • その他のリソース

Visual Studio の IntelliSense の機能の詳細については、「IntelliSense の使用方法」を参照してください。

背景

IntelliSense ではコード入力中に情報が表示されるため、コードの記述が速くなり、エラーも減少します。 クライアント スクリプトを操作するときは、現在のコンテキストに基づいて使用できるオブジェクト、関数、プロパティ、およびパラメーターが IntelliSense で一覧表示されます。 IntelliSense で表示されるポップアップ リストから入力するコードを選択し、コードを完成することができます。

IntelliSense を使用して、次のタスクを簡単に実行できます。

  • メンバー情報を検索する。

  • 言語要素をコードに直接挿入する。

  • コード エディターを離れることなくコンテキストを維持する。

  • XML コード コメントを使用して IntelliSense をカスタマイズする。

JScript IntelliSense の動作

JScript IntelliSense では、現在のプログラミング コンテキストに関連するすべてのスクリプトに基づいて、入力するコードを選択できます。 これには、現在のファイル内のスクリプト要素が含まれます。 また、スクリプト ファイル参照、アセンブリ スクリプト参照、サービス参照、ページに関連付けられた参照など、作業中のスクリプトから直接的または間接的に参照されるコードもすべて含まれます。

IntelliSense のコンテキストの確認

現在のプログラミング コンテキストは、次の項目に基づいて作成されます。

  • 現在のスクリプト ブロックに定義されている関数。 ファイル名拡張子が .aspx、.ascx、.master、.html、および .htm のファイルでは、インライン スクリプト ブロックがサポートされています。

  • スクリプト ファイルを指定する src 属性が含まれた各 script 要素。 参照先スクリプト ファイルのファイル名拡張子は .js であることが必要です。

  • references ディレクティブを使用して別の JScript ファイルを参照している JScript ファイル。

  • XML Web サービスへの参照。

  • Web アプリケーションが ASP.NET AJAX アプリケーションの場合は、ScriptManager コントロールおよび ScriptManagerProxy コントロール。

  • AJAX 対応の ASP.NET Web アプリケーションの作業をしている場合は、Microsoft Ajax Library。

    注意

    IntelliSense は、HTML 要素のイベント ハンドラー属性内のスクリプトや href 属性に定義されたスクリプトではサポートされません。

IntelliSense の情報の処理

JScript IntelliSense を使用できるようにするため、Visual Studio では次の操作が実行されます。

  • アクティブ ドキュメント内の参照と、参照されるファイル内のスクリプト参照を再帰的にチェックする処理に基づいて JScript 依存ファイルのリストを作成します。

  • リストを走査し、各ファイルから型情報やその他の関連データを収集します。

  • データを集計して JScript エンジンに渡します。これにより、型情報やデータが IntelliSense で使用できるようになります。

  • ファイルで IntelliSense のリストに影響する可能性がある変更を監視し、必要に応じてリストを更新します。

ページのトップへ

JScript IntelliSense の機能

JScript IntelliSense は、次のオブジェクトをサポートします。

  • ドキュメント オブジェクト モデル (DOM: Document Object Model) 要素

  • 組み込みオブジェクト

  • ユーザー定義の変数、関数、およびオブジェクト

  • 外部ファイル参照

  • XML コード コメント

  • ASP.NET AJAX オブジェクト

HTML DOM 要素

JScript IntelliSense では、body、form、div などのダイナミック HTML (DHTML: Dynamic HTML) DOM 要素のプログラミングで参照できる一覧が表示されます。 現在のドキュメントとマスター ページに含まれる要素だけが IntelliSense によって表示されます。 window オブジェクトと document オブジェクト、およびそれらのメンバーも JScript IntelliSense でサポートされます。

組み込みオブジェクト

JScript IntelliSense では、ネイティブな組み込みオブジェクトのプログラミングで参照できる一覧が表示されます。これには、Array、String、Math、Date、および Number があります。 組み込みオブジェクトの詳細については、「組み込みオブジェクト」を参照してください。

ユーザー定義の変数、関数、およびオブジェクト

JScript ファイルを変更すると、開かれているドキュメントと参照されているドキュメントが Visual Studio でスキャンされ、利用できるすべてのコード リソースが確認されます。 これには、ユーザーが作成した変数、関数、およびオブジェクトが含まれます。 その後、これらのリソースが JScript IntelliSense で利用できるようになります。

ユーザー定義の変数、関数、およびオブジェクトの詳細については、MSDN Web サイトの「Creating Your Own Objects」を参照してください。

外部ファイル参照

ページ内にすべてのクライアント スクリプトを記述する代わりに、スクリプト コードを格納した外部ファイルを参照できます。 これによって、ページ間でのコードの再利用が容易になり、ブラウザーでクライアント スクリプトをキャッシュできるようになります。

ASP.NET AJAX 対応の Web ページで作業している場合は、ScriptManager コントロールの ScriptReference オブジェクトを使用してスクリプト ファイルを参照できます。

ScriptManager コントロールの ScriptReference オブジェクトを使用してスクリプト ファイルを参照するマークアップの例を次に示します。

<asp:ScriptManager ID="ScriptManager1" runat="server">
  <Scripts>
    <asp:ScriptReference Path="~/Scripts/JScript.js" />
  </Scripts>
</asp:ScriptManager>

ASP.NET AJAX 対応の Web ページで作業していない場合は、script 要素の開始タグにある src 属性を使用して外部スクリプト ファイルを参照できます。 src 属性には、ソース コードまたはデータを格納した外部ファイルへの URL が指定されます。

script タグの src 属性を使用してスクリプト ファイルを参照するマークアップの例を次に示します。

<script type="text/javascript" src="~/Scripts/JScript.js">
  
</script>

IntelliSense では、ASP.NET AJAX Web アプリケーションのアセンブリ内にリソースとして埋め込まれるスクリプト ファイルもサポートされます。 埋め込みスクリプト リソースの詳細については、「チュートリアル : アセンブリ内のリソースとしての JavaScript ファイルの埋め込み」を参照してください。

参照ディレクティブ

references ディレクティブを使用すると、現在編集中のスクリプトとその他のスクリプトとの間の関係を Visual Studio で確立できます。 references ディレクティブにより、現在のスクリプト ファイル内のスクリプトのコンテキストにスクリプト ファイルを含めることができます。 これにより、コードの入力時に、外部で定義されている関数、型、およびフィールドを IntelliSense で参照できます。

references ディレクティブは、XML コメントの形式で作成します。 このディレクティブは、ファイル内で他のいずれのスクリプトよりも前に定義する必要があります。 reference ディレクティブには、ディスク ベースのスクリプト参照、アセンブリ ベースのスクリプト参照、サービス ベースのスクリプト参照、またはページ ベースのスクリプト参照を含めることができます。

ディスク ベースの参照ディレクティブを使用する例を次に示します。

/// <reference path="ScriptFile1.js" />

/// <reference path="Scripts/ScriptFile2.js" />

/// <reference path="../ScriptFile3.js" />

/// <reference path="~/Scripts/ScriptFile4.js" />

アセンブリ ベースのスクリプトへの参照を作成する方法の例を次に示します。

/// <reference name "Ajax.js" assembly="System.Web.Extensions, ..." />

サービス ベースのスクリプトへの参照方法の例を次に示します。

/// <reference path="MyService.asmx" />

/// <reference path="Services/MyService.asmx" />

/// <reference path="../MyService.asmx" />

/// <reference path="~/Services/MyService.asmx" />

注意

JScript IntelliSense は、Web アプリケーション プロジェクト (WAP: Web Application Project) の Web サービス ファイル (.asmx) 内に格納されたスクリプトではサポートされません。

ページ ベースのスクリプトへの参照方法の例を次に示します。

/// <reference path="Default.aspx" />

/// <reference path="Admin/Default.aspx" />

/// <reference path="../Default.aspx" />

/// <reference path="~/Admin/Default.aspx" />

reference ディレクティブには、次の規則が適用されます。

  • reference XML コメントは、他のいずれのスクリプトよりも前に定義する必要があります。

  • XML コメントの構文を 3 つのスラッシュと共に使用する必要があります。 標準のコメントの構文 (2 つのスラッシュ) を使用して作成された参照は無視されます。

  • ディレクティブごとに、1 つのファイルまたは 1 つのリソースだけを指定できます。

  • ページ ベースのスクリプトへの複数の参照は指定できません。

  • ページ参照を指定する場合、これ以外の種類の参照ディレクティブは指定できません。

  • ファイル名には相対パスを使用します。 ティルダ演算子 (~) を使用すると、アプリケーション ルートに対する相対パスを指定できます。

  • 絶対パスは無視されます。

  • 現在のプロジェクトの外部にあるファイルへの参照は無視されます。

  • 参照されるページにある参照ディレクティブは処理されません。つまり、参照ディレクティブは、ページに対して再帰的には解決されません。 ページによって直接参照されるスクリプトだけが含まれます。

XML コード コメント

XML コード コメントは、スクリプトに追加される説明テキストです。 これらの説明テキストは、コメントされたスクリプトを参照したときに IntelliSense で表示されます。 XML コード コメントは、参照されるファイル、アセンブリ、およびサービスでのみ使用できます。

XML コード コメントを指定すると、概要に加えてパラメーターや関数の戻り値に関する情報を示すことができます。 XML コード コメントを使用したスクリプトの例を次に示します。

function areaFunction(radiusParam)
{
    /// <summary>Determines the area of a cicle based on a radius parameter.</summary>
    /// <param name="radius" type="Number">The radius of the circle.</param>
    /// <returns type="Number">Returns a number that represents the area.</returns>
    var areaVal;
    areaVal = Math.PI * radiusParam * radiusParam;
    return areaVal;
}

IntelliSense では、次のファイル参照が使用されているときに XML コメントのコード参照を表示できます。

  • .js ファイルを参照する .aspx ファイル。

  • 別の .js ファイルを参照する .js ファイル。

  • .aspx ファイルを参照する .js ファイル。

いずれかの .aspx ファイルで別の .aspx ファイルを参照している場合、IntelliSense は使用できません。

XML コード コメントを追加して JScript IntelliSense を利用できるようにする方法の詳細については、「チュートリアル: JScript IntelliSense」を参照してください。

ASP.NET AJAX オブジェクト

ASP.NET AJAX も JScript IntelliSense をサポートしています。 ASP.NET AJAX には、ECMAScript (JavaScript および JScript) で使用できる標準の型を拡張するクライアント フレームワークが含まれています。 JScript IntelliSense を有効にして ASP.NET AJAX オブジェクトに関する詳細を利用できるようにするために、XML コード コメントが Microsoft Ajax Library 全体に追加されました。 これらの XML コード コメントは、ASP.NET AJAX ライブラリに格納された型およびメンバーを使用したときに表示されます。

注意

プライベート メンバーは JScript IntelliSense では表示されません。 プライベート メンバーは、ASP.NET AJAX ではアンダースコア (_) で始まるメンバーとして表されます。

JScript IntelliSense のエラーの概要

Visual Studio の JScript IntelliSense エンジンでは、自動的にスクリプト参照のリンクをチェックして検証が実行され、プリプロセッサが実行されます。 スクリプト参照のリンクの検証では、現在のプログラミング コンテキストに基づいて確認が行われます。 特定の参照が見つからない場合は、その参照に関するエラー情報が Visual Studio によって作成されます。 依存ファイルの実行に失敗した場合は、プリプロセッサのエラー レポートが生成されます。

リンクの検証で確認が行われる方法の詳細については、「IntelliSense のコンテキストの確認」を参照してください。 プリプロセッサのエラーが確認される方法の詳細については、「IntelliSense の情報の処理」を参照してください。

Jscript の検証の呼び出し

Visual Studio では、JScript IntelliSense の検証が次の 2 つの方法で呼び出されます。

  • アイドル時の呼び出し。 検証は、スクリプトを含むアクティブ ドキュメントのアイドル時に自動的に呼び出されます。

  • 手動による呼び出し。 JScript IntelliSense の検証は、手動でも呼び出すことができます。 これを行うには、[編集] メニューの [詳細] をポイントし、[ドキュメントの検証] をクリックします。 このコマンドは、開いているすべてのドキュメントに適用されます。

検証結果

Visual Studio がスクリプト参照を解決できない場合、または他の種類のスクリプト エラーのために IntelliSense エンジンが現在のスクリプトのコンテキストから完全な結果を収集できない場合は、次の方法で Visual Studio によりフィードバックが作成されます。

  • エディター内の下線付き要素。 赤い波型の下線はエラーを示します。 マウス ポインターをエラーの上に置くと、ツールヒントにエラーの説明が表示されます。

  • [エラー一覧] ウィンドウ。 [エラー一覧] ウィンドウに、エラーの説明、エラーが発生したファイル、行番号と列番号、およびプロジェクトが表示されます。 [エラー一覧] ウィンドウを表示するには、[表示] メニューの [エラー一覧] をクリックします。

ページのトップへ

その他のリソース

チュートリアル: JScript IntelliSense

方法: JScript XML コード コメントを作成する

ページのトップへ

参照

処理手順

チュートリアル: JScript IntelliSense

スクリプト参照の動的な割り当て

参照

メンバーの一覧

その他の技術情報

IntelliSense の使用方法

About the DHTML Object Model (DHTML オブジェクト モデルについて)

JScript オブジェクト

SRC Attribute | src Property (SRC 属性 | src プロパティ)