【Eclipse外掛程式開發】基於WTP開發自訂的JSP編輯器(十二)

來源:互聯網
上載者:User

定製自動編輯策略(Auto Edit Strategy)

JFace Text Framework架構的一個重要的功能特徵就是自動編輯策略,它允許使用者對輸入的內容(准 確的說應該是即將來臨的Document修改^_^)做即時編輯,然後又會透明的將使用者的修改付諸於實現(即 應用到當前文檔)。在本節,我們將在前兩節有關TLD Content Model的基礎上開發一個自動編輯策略。

【JFace Text Framework 自動編輯策略原理介紹】

【JDT Java源碼編輯器自動編輯策略示範】

我們每個使用Eclipse JDT進行Java編程的開發人員都會對JDT中Java源碼編輯器的自動編輯策略印象深 刻,它給編碼人員帶來了很大的方便。舉例如下:

如上圖所示,我們在編寫一個新的函數,圖中黑色豎線“|”就是游標所在處,當我們按下斷行符號鍵的時 候,效果變為如下:

如上圖所示,當我們輸入斷行符號鍵之後,JDT Java源碼編輯器自動幫我們矯正了內容(text)和位置 (offset):原來的輸入內容應該是“\r\n”,JDT Java源碼編輯器自動幫我們矯正為 “\r\n\t\t\r\n\t}”;根據“\r\n”內容推算,輸入後游標位置應該位於28行的起始處,JDT Java源碼 編輯器自動幫我們矯正為離28行其實處兩個“\t”的距離。

【自動編輯流程和主要角色】

上圖就示範了自動編輯過程:

1、使用者編輯,鍵盤事件

2、根據鍵盤事件,對事件資訊進行分析,拼裝到名為DocumentCommand的資料結構中,該資料結構中 包含了使用者的輸入內容(text)、游標位置(offset)等資訊,例如,上面JDT的例子中使用者的輸入內容 為“\r\n”。這一步JFace Text Framework幫使用者解決了。

3、調用自動編輯策略,對應DocumentCommand中資料進行自訂矯正,例如,JDT Java源碼編輯器的 自動編輯策略將輸入內容矯正為“\r\n\t\t\r\n\t}”。使用者自己負責,JDT Java源碼編輯器在這邊幹活 了,提供了自己的IAutoEditStrategy^_^

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.