共用方式為


JScript IntelliSense 概觀

Microsoft JScript 的 IntelliSense 可讓您輕鬆地在 Visual Studio 或 Microsoft Visual Web Developer Express內之程式碼編輯器中,存取用戶端指令碼的程式設計項目。 IntelliSense 可根據您輸入的用戶端指令碼,提供適當內容的程式碼選擇,如屬性、函式和物件等。 您不需要離開程式碼編輯器,即可搜尋語法或參數文件。 取而代之的是,保持在程式碼編輯器中,您就可以尋找所需的資訊,並且可直接將語言項目插入程式碼中。 JScript IntelliSense 的運作方式非常類似 Managed 程式碼語言的 IntelliSense。

此主題包括下列章節:

  • 背景

  • JScript IntelliSense 功能

  • 了解 JScript IntelliSense 的錯誤

  • 其他資源

如需 Visual Studio 之 IntelliSense 功能的詳細資訊,請參閱使用 IntelliSense

背景

IntelliSense 藉由在您撰寫程式碼的同時提供資訊,幫助您更快速地撰寫程式碼,並減少錯誤。 當您使用用戶端指令碼時,IntelliSense 會根據目前的內容列出可用的物件、函式、屬性及參數。 您可以從 IntelliSense 提供的快顯清單選取程式碼撰寫選項,以完成程式碼。

IntelliSense 可讓您更輕鬆地完成下列工作:

  • 尋找成員資訊。

  • 直接將語言項目插入程式碼中。

  • 不需離開程式碼編輯器即可維護內容。

  • 支援以 XML 程式碼註解自訂 IntelliSense。

JScript IntelliSense 的運作方式

JScript IntelliSense 根據您目前正在進行程式設計內容相關的所有指令碼,提供程式碼撰寫的選擇。 這包括目前檔案內的指令碼項目。 它同時也包含任何從指令碼直接參考或間接參考的程式碼,例如:指令碼檔參考、組件 (Assembly) 指令碼參考、服務參考和關聯頁面參考。

判斷 IntelliSense 的內容

您目前正在進行程式設計的內容會根據下列項目而建立:

  • 定義在目前指令碼區塊內的函式。 具有 .aspx.、.ascx、.master、.html 和 .htm 等副檔名的檔案所支援之內嵌 (Inline) 指令碼區塊。

  • 每個包含指向指令碼檔之 src 屬性的 script 項目。 目標指令碼檔必須以 .js 為副檔名。

  • 以 references 指示詞參考其他 JScript 檔案的 JScript 檔。

  • XML Web 服務的參考。

  • ScriptManagerScriptManagerProxy 控制項 (如果 Web 應用程式是 ASP.NET AJAX 應用程式)。

  • Microsoft AJAX Library (如果您使用的是具備 AJAX 能力的 ASP.NET Web 應用程式)。

    注意事項注意事項

    IntelliSense 不支援在 HTML 項目上使用事件處理常式屬性的指令碼,或定義於 href 屬性的指令碼。

處理 IntelliSense 資訊

為了提供 JScript IntelliSense,Visual Studio 會執行下列作業:

  • 根據主動式文件 (Active Document) 內的參考建立 JScript 相依檔案清單,並遞迴地檢查參考之檔案的指令碼參考。

  • 周遊清單並從每個檔案收集型別資訊,以及其他相關資料。

  • 彙總資料,並將資料傳遞至 JScript 引擎,讓 IntelliSense 可以使用型別資訊和資料。

  • 監控可能影響 IntelliSense 清單的檔案變更,並視需要更新清單。

回到頁首

JScript IntelliSense 功能

JScript IntelliSense 支援下列物件:

  • 文件物件模型 (DOM) 項目

  • 內建物件

  • 使用者定義的變數、函式和物件

  • 外部檔案參考

  • XML 程式碼註解

  • ASP.NET AJAX 物件

HTML DOM 項目

JScript IntelliSense 提供動態超文字標記語言 (DHTML) DOM 項目的程式設計參考,例如:body、form 和 div。 IntelliSense 只會顯示包含在目前文件內的項目和主版頁面 (Master Page)。 JScript IntelliSense 也支援 window 和 document 物件及其成員。

內建物件

JScript IntelliSense 提供了原始內建物件 Array、String、Math、Date 和 Number 的程式設計參考。 如需內建物件的詳細資訊,請參閱內建物件

使用者定義的變數、函式和物件

變更 JScript 檔時,Visual Studio 會掃描已開啟及已參考的文件,以判斷所有可用的程式碼資源。 這包括您建立的變數、函式和物件。 隨後 JScript IntelliSense 便可以使用這些資源。

如需使用者定義之變數、函式和物件的詳細資訊,請參閱 MSDN 網站上的建立您自己的物件

外部檔案參考

除了在網頁內撰寫所有用戶端指令碼之外,您還可以參考包含指令碼的外部檔案。 這種方式可以很方便的在各個網頁間重複使用程式碼,並且可讓瀏覽器快取用戶端指令碼。

如果您正在使用具有 ASP.NET AJAX 能力的網頁,則可以使用 ScriptManager 控制項的 ScriptReference 物件參考指令碼檔。

下列範例顯示了以 ScriptManager 控制項內的 ScriptReference 物件來參考指令碼檔的標記。

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

如果您目前未使用具備 ASP.NET AJAX 能力的網頁,則可以使用 script 項目之開頭標記內的 src 屬性參考外部指令碼檔。 src 屬性指定了包含原始程式碼或資料之外部檔案的 URL。

下列範例顯示了在 <script> 標記 (Tag) 內使用 src 屬性來參考指令碼檔的標記 (Markup)。

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

IntelliSense 也支援在 ASP.NET AJAX Web 應用程式內的組件中,內嵌為資源的指令碼檔。 如需內嵌指令碼資源的詳細資訊,請參閱逐步解說:嵌入 JavaScript 檔做為組件中的資源

References 指示詞

references 指示詞可讓 Visual Studio 在您目前正編輯的指令碼和其他指令碼之間,建立關聯性 (Relationship)。 references 指令詞可讓您在目前指令碼檔的指令碼內容中包含指令碼檔。 如此可讓 IntelliSense 參考外部定義的函式、型別及欄位,將其當做您的程式碼使用。

您可以以 XML 註解的格式建立 references 指示詞。 指示詞在檔案內的宣告必須早於任何指令碼。 reference 指示詞可以包含磁碟架構的指令碼參考、組件架構的指令碼參考、服務架構的指令碼參考,或網頁架構的指令碼參考。

列下範例示範使用磁碟架構之 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 服務 (.asmx) 檔案中的指令碼。

下列範例示範如何建立網頁架構指令碼的參考。

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

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

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

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

reference 指示詞有下列規則。

  • reference XML 註解必須在任何指令碼之前宣告。

  • 您必須使用具有三個斜線的 XML 註解語法。 使用標準註解語法 (兩個斜線) 建立的參考會被忽略。

  • 每個指示詞只能指定一個檔案或參考。

  • 不允許有多個網頁架構指令碼的參考。

  • 如果已指定某個網頁參考,則不允許再使用其他類型的 reference 指示詞。

  • 檔案名稱使用相對路徑。 您可以使用波狀符號運算子 (~) 代表應用程式根目錄的相對路徑。

  • 絕對路徑會被忽略。

  • 目前專案外之檔案的參考會被忽略。

  • 參考之網頁內的 Reference 指示詞將不會被處理,這表示 reference 指示詞不會遞迴地解析網頁。 只會納入直接由網頁所參考的指令碼。

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 物件有關的詳細資料,在整個 Microsoft AJAX Library 中已加入了 XML 程式碼註解。 這些 XML 程式碼註解會在您使用 ASP.NET AJAX Library 內含的型別及成員時顯示。

注意事項注意事項

JScript IntelliSense 不會顯示私用成員。 私用成員在 ASP.NET AJAX 中是以底線 (_) 為起始的成員來代表。

了解 JScript IntelliSense 的錯誤

Visual Studio 內的 JScript IntelliSense 引擎,會自動透過檢查指令碼參考連結和前置處理器的執行來提供驗證。 指令碼參考連結驗證會根據目前程式設計的內容進行判斷。 如果找不到特定的參考,Visual Studio 便會提供與參考相關的錯誤資訊。 前置處理器錯誤的報告會在相依檔案失敗時產生。

如需如何判斷連結驗證的詳細資訊,請參閱判斷 IntelliSense 的內容。 如需如何判斷前置處理器錯誤的詳細資訊,請參閱處理 IntelliSense 資訊。

叫用 Jscript 驗證

在 Visual Studio 中,JScript IntelliSense 驗證可透過兩種方式叫用:

  • 閒置時。 在任何包含指令碼的使用中文件閒置時,便會自動叫用驗證。

  • 手動。 您也可以手動叫用 JScript IntelliSense 驗證。 若要執行這項動作,請按一下 [編輯] 功能表上的 [進階],然後按一下 [驗證文件]。 這個命令會套用至所有開啟的文件。

驗證結果

當 Visual Studio 無法解析指令碼參考,或者若其他指令碼錯誤類型使得 IntelliSense 引擎無法從目前的指令碼內容蒐集完整的結果時,Visual Studio 會透過下列方式提供回應:

  • 將編輯器內的項目加上底線。 以紅色波浪底線指出錯誤。 如果您將滑鼠指標停留在錯誤上方,則會顯示錯誤描述的工具提示。

  • [錯誤清單] 視窗。 [錯誤清單] 視窗會顯示錯誤描述、發生錯誤的檔案位置、行號和欄數,以及專案。 若要顯示 [錯誤清單] 視窗,請按一下 [檢視] 功能表中的 [錯誤清單]。

回到頁首

其他資源

逐步解說:JScript IntelliSense

HOW TO:建立 JScript XML 程式碼註解

回到頁首

請參閱

工作

逐步解說:JScript IntelliSense

動態指派指令碼參考

參考

列出成員

其他資源

使用 IntelliSense

關於 DHTML 物件模型

JScript 物件

SRC 屬性 (Attribute) | src 屬性 (Property)