您现在的位置是:首页 > 未分类 > 【Eclipse插件开发】基于WTP开发自定义的JSP编辑器(一)博客日记

【Eclipse插件开发】基于WTP开发自定义的JSP编辑器(一)

19-06-27未分类围观25

简介 【Eclipse插件开发】基于WTP开发自定义的JSP编辑器(一)JFace Text Framework框架的一个重要的功能特征就是自动编辑策略,它允许用户对输入的内容(准 确的说应该是即将来临的D

【Eclipse插件开发】基于WTP开发自定义的JSP编辑器(一)

JFace Text Framework框架的一个重要的功能特征就是自动编辑策略,它允许用户对输入的内容(准 确的说应该是即将来临的Document修改^_^)做即时编辑,然后又会透明的将用户的修改付诸于实现(即 应用到当前文档)。在本节,我们将在前两节有关TLD Content Model的基础上开发一个自动编辑策略。


【JFace Text Framework 自动编辑策略原理介绍】


【JDT Java源码编辑器自动编辑策略演示】

微信截图_20190627141647.jpg

我们每个使用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”的距离。


【自动编辑流程和主要角色】

微信截图_20190627141809.jpg

上图就演示了自动编辑过程:


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^_^





Tags:

本站推荐