範例 - Java 編輯器

簡介

Java 編輯器範例示範自訂文字編輯器可用的標準特性。 它也顯示如何為副檔名登錄編輯器(這個案例中為 .jav)以及如何定義編輯器所使用的自訂文件提供者。 這個範例只作為示範。Java 編輯支援是由 Eclipse Java 工具開發所提供。

這個範例的程式碼位於 org.eclipse.ui.examples.javaeditor 外掛程式中。 如果要探索程式碼,建議您將該外掛程式匯入至您的工作區中。

範例編輯器中所示範的特性

未示範特性

執行範例 Java 編輯器

  1. 建立一個專案
  2. 在新建的專案中,建立副檔名為 ".jav" 的檔案。 Java 範例編輯器自動開啟。
  3. 插入 Java 程式碼。Java 程式碼會動態地上色。範例編輯器用不同的顏色表示 下列語言元素:多行註解、單行註解、Java 語言保留字、字串和字元常數、一般 Java 程式碼,還有遵循 Javadoc 準則的多行註解。在那些 Javadoc 註解中, Javadoc 關鍵字(綠色)和 HTML 標示(灰色)以不同的顏色表示。
  4. 在 Java 註解外插入 "/*" 以開啟新的 Java 多行註解。 在插入的 "/*" 和第一字元為 "*/" 或文字尾端之間的所有文字均變更為紅色。 附加另一個 "*"。當正規的多行註解現在被視為內含 Javadoc 時,紅色範圍會變為黑色。 使用 CTRL-SPACE 呼叫程式碼輔助。 內容協助功能是在撰寫模式中支援使用者。 所以呼叫時,內容協助應在呼叫位置列出所有可能有效的完成。 在 Javadoc 中,範例編輯器固定提供所有 Javadoc 關鍵字。
  5. 在 Java 註解之外,使用 CTRL+SHIFT+SPACE 呼叫內容要訣。列出五個提議。 選取一個然後按下 ENTER。在目前顯示所選提議行的上方,會出現一個浮動紅色小視窗。 內容要訣用來讓使用者表達他的意願(例如,輸入方法呼叫),並提供引導使用者表達意願的環境定義資訊。在範例編輯器中,提議被視為在起始呼叫位置中有效的五個字元。 看的見內容要訣時,使用 Alt+/ 呼叫內容輔助。在這個狀況下呼叫的內容協助,應幫助使用者 完成可在內容要訣中看見,且由該使用者所陳述的意願。在正規的 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。

範例的程式碼組織

Java 編輯器範例程式碼組織在四個套件中: