範例 - Java 編輯器

簡介

Java 編輯器範例示範自訂文字編輯器所能使用的標準特性。 它也會顯示如何登錄某副檔名(這裡是 .jav)的編輯器及如何定義該編輯器所用的自訂文件提供者。 這個範例只供示範之用。 Java 編輯支援由 Eclipse Java 工具提供。

範例編輯器所示範的特性

未示範的特性

執行範例編輯器

  1. 建立專案
  2. 在新建立的專案中,建立副檔名為 ".jav" 的檔案。這時會自動開啟 Java 範例編輯器。
  3. 插入 Java 程式碼。這個 Java 程式碼會自動上色。範例編輯器會以不同的顏色來呈現下列語言元素:多行註解、單行註解、Java 語言保留字、字串和字元常數、正規 Java 程式碼,以及遵循 JavaDoc 準則的多行註解。 在這些 JavaDoc 註解中,JavaDoc 關鍵字和標示會有不同的顏色。
  4. 在 Java 註解中插入 "/*" 來開啟的 Java 多行註解。插入的 "/*" 和第一次出現的 "*/" 或文字尾端之間的所有文字都會變成紅色。請附加另一個 "*"。這時紅色範圍會變成綠色,因為正規的多行註解現在已被視為含有 JavaDoc。請利用 Ctrl-空白鍵來呼叫程式碼輔助。內容輔助的功能是支援使用者撰寫程式碼。因此,在呼叫時,內容輔助應該會列出在呼叫位置上所有可能有效的完成項。在 JavaDoc 內,範例編輯器一律會提出所有 JavaDoc 關鍵字。
  5. 在 Java 註解之外,利用 CTRL+SHIFT+SPACE 呼叫內容要訣。這時會列出五個提議。請選取一個,再按 Enter 鍵。這時在目前顯示所選提議的行上會出現小型紅色浮動視窗。內容要訣的預期用法是讓使用者表示他的意圖,例如,輸入方法呼叫及顯示上下文資訊來引導使用者。在範例編輯器中,提議視為在起始呼叫位置的五個有效字元。當內容要訣是可見的,請利用 Ctrl+空白鍵來呼叫內容。在這個狀況中呼叫的內容輔助應該可協助使用者完成在內容要訣中可見的他所指出的意圖。在正規 Java 程式碼內,範例編輯器一律會提出所有 Java 關鍵字。
  6. 儲存 Java 程式碼。儲存會更新內容概要畫面。內容概要畫面含有十個項目,每個都公平代表編輯器內相同大小的 Java 程式碼區段。選取這個樣式的內容概要是要顯示重點強調範圍的語意可以任意定義。(請參閱下個步驟。)
  7. 在內容概要畫面中選取其中一個項目。在編輯器左側垂直尺規中,對應的行會有藍線標示。
  8. 現在,切換至 Java 編輯器的區段化呈現模式。請確定編輯器已取得焦點,再按下桌面工具列中游標橫越時的說明為「啟用/停用區段化的原始檔檢視器」的按鈕。這時預計會使用這個功能,例如,用於單一方法檢視畫面。
  9. 在內容概要畫面中選取不同的項目。現在,編輯器只會顯示所選取的區段。取消選取內容概要畫面中的項目,就會重新顯示完整的 Java 程式碼。
  10. 在內容概要畫面中選取一個項目,選取可見文字的一小部份,再新增選項的作業。作業會顯示在作業清單中。請修改可見的程式碼。在作業清單中,選取先前建立的作業,再按下「移至檔案」按鈕。這時會在可見區域內選取這項作業,正確地將先前套用的修改納入。
  11. 在內容概要畫面中選取另一個項目。請顯示先前從作業清單中新增的作業。編輯器的重點強調範圍會自動放大,以含括顯示之作業的範圍。
  12. 開啟一個新工作區。在新工作區中,開啟一個 Java 編輯器來處理原始工作區中的相同檔案。修改編輯器內容。請切換回原始工作區。編輯器會顯示其他工作區中所進行的變更。顯示相同檔案的兩個編輯器會緊密鏈結。

建立自訂文字編輯器的原則

開發自訂文字編輯器通常需要執行下列步驟。
  1. 建立文件提供者。文件提供者(請參閱 IDocumentProvider)會產生和管理包含編輯器輸入元素之文件呈現的文件(請參閱 IDocument)。決定要元素和文字表示法的轉換要如何呈現,以及文件提供者應不應該給多個編輯器共用,這一點非常重要。請參閱 Java 範例編輯器中的 FileDocumentProvider 類別。
  2. 建立文件分割器。文件分割器(請參閱 IDocumentPartitioner)會將文件分解成分開的區域。分割器會將它預先定義的內容類型集其中的內容類型別指派給每個區域。每次變更文件時,都必須更新文件的分割。請參閱 Java 範例編輯器其中的 JavaPartitioner 類別。JavaPartitioner 會決定多行註解、JavaDoc 註解及其他項目等各類型的區域。請務必確定文件提供者所產生的每份文件中都設定了文件提供者。
  3. 判斷應該提供哪個原始檔檢視器外掛程式。在其他支援的外掛程式中,有自動縮排策略、按兩下策略、格式製作程式及文字呈現調整程式。後續說明會限制在文字呈現調整程式(請參閱 IPresentationReconciler)。在 Java 範例編輯器中,會利用文字呈現調整程式來實作語法的重點強調。
  4. 就每個支援的內容類型,建立所有原始檔檢視器外掛程式的適當表示式。如前所示,文件分割器會定義支援的內容類型。IPresentationReconciler 的預設實作支援以 IPresentationDamagers 和 IPresentationRepairers 為延伸項目。這些延伸項目都是特定內容類型所專用的。因此,對於自訂編輯器而言,使用者必須先選取支援的內容類型的子集。例如,本身是所選子集成員的類型區域會出現語法重點強調。每個這些類型都必須實作延伸項目。請參閱範例編輯器中的 JavaDamagerRepairer 和 JavaDocDamagerRepairer。
  5. 利用先前建立的外掛程式和延伸項目來建置原始檔檢視器配置。請參閱範例編輯器中的 JavaSourceViewerConfiguration。
  6. 以開發好的文件分割器和原始檔檢視器配置來自訂 TextEditor 或 AbstractTextEditor 類別。請新增或取代動作,以及調整編輯器環境定義功能表的建構。在實際的版本中,這項自訂必須在子類別中完成。請參閱範例編輯器中的 JavaEditor。
  7. 設定適當的動作列提供者,讓它將編輯器的相關動作提供給桌面的工具列和功能表。請參閱範例編輯器中 JavaActionContributor。
  8. 延伸編輯器外掛程式的 XML 配置檔,使編輯器登錄在一組特定副檔名的預定編輯器延伸點。另外,也請設定 XML 檔中的動作列提供者。請參閱這個範例的 plugin.xml。

範例的程式碼組織

範例程式碼分屬四個套件:
 

Copyright IBM Corp. 2000, 2001.  All Rights Reserved.