共用方式為


實作的語法標色

當語言服務提供語法顏色標示時,剖析器會將一行文字轉換為可設定色彩的項目陣列,並傳回語彙基元的型別對應到這些可設定色彩的項目。 剖析器應該會傳回屬於可設定色彩的項目清單的語彙基元型別。 Visual Studio根據要由 colorizer 物件指派給適當的語彙基元型別之屬性的程式碼] 視窗中顯示每個可設定色彩的項目。

Visual Studio未指定剖析器介面,以及剖析器的實作是完全由您。 不過,預設的剖析器實作提供 Visual Studio 的語言套件的專案中。 Managed 程式碼,受管理的封裝架構 (MPF) 提供完整支援 colorizing 的文字。

後面接著以色彩標示文字編輯器的步驟

  1. 編輯器] 中取得點撥打的 colorizer GetColorizer上的方法IVsLanguageInfo物件。

  2. 編輯器呼叫GetStateMaintenanceFlag方法,以判斷 colorizer 是否需要維護 colorizer 以外的每個線路的狀態。

  3. 如果 colorizer 需要維護 colorizer 以外的狀態,請在編輯器] 便會呼叫GetStartState方法來取得第一個線路的狀態。

  4. 緩衝區中的每一行,編輯器會呼叫ColorizeLine方法,便會執行下列步驟:

    1. 一行文字會傳遞到掃描器,將文字轉換成語彙基元。 每個語彙基元指定的語彙基元的文字和語彙基元的型別。

    2. 語彙基元的型別轉換為可設定色彩的項目] 清單中的索引。

    3. 語彙基元的資訊用來填入陣列,陣列的每個項目相對於行中的字元。 儲存在陣列中的值是可設定色彩的項目] 清單中的索引。

    4. 針對每一行,就會傳回行結尾處的狀態。

  5. 如果 colorizer 需要維護狀態,請在編輯器] 會快取供這條線路的狀態。

  6. 編輯器] 中呈現的文字時,使用傳回的資訊列ColorizeLine方法。 此時,您需要進行下列步驟:

    1. 在列中每個字元,則請取得的可設定色彩的項目索引。

    2. 如果使用預設的可設定色彩項目,來存取編輯器] 的 [可設定色彩的項目] 清單。

    3. 否則,呼叫語言服務的GetColorableItem方法,以取得可設定色彩的項目。

    4. 使用可設定色彩的項目中的資訊,來呈現到顯示的文字。

受管理的封裝架構 Colorizer

受管理的封裝架構 (MPF) 提供實作 colorizer 所需的所有類別。 您的語言服務類別應繼承LanguageService類別並實作必要的方法。 您必須提供 「 掃描器 」 和 「 剖析器藉由實作IScanner介面,並傳回從該介面的執行個體GetScanner方法 (一種方法必須在實作LanguageService類別)。 如需詳細資訊,請參閱 Colorizing (受管理的封裝架構) 的語法

請參閱

工作

How to: 使用內建的可設定色彩項目

概念

自訂可設定色彩的項目

Colorizing (受管理的封裝架構) 的語法

其他資源

開發語言服務