共用方式為


JScript IntelliSense 概觀

更新:2007 年 11 月

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" >
  <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 物件