`
defrag_sly
  • 浏览: 126272 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Eclipse中TextEditor常用扩展整理

阅读更多
总结一下TextEditor,eclipse给文本编辑提供了一个默认实现,TextEditor。绝大部分的实现都可以在TextEditor上扩展。
总结一下常见的几点:
1、 document provider: 一个将输入editor input 转化为Document的场所,document则是在sourceviewer中显示
2、 常见的编辑器都会根据不同的文本显示不同的颜色,比如javaeditor,有注释,单行,多行,代码,关键字等。可以在documentprovider中注册documentparpartitioner来给文档划分区。这些分区都是不覆盖的,editor中关于文本的操作,就可以根据分区的不同选择不同的操作。
3、 整个Editorpart中可以划分为左侧概述标尺Overviewruler/linenumberruler,中间sourceviewer,右侧垂直标尺verticalruler,三大部分,左右两侧用来标记一些信息导航,一般是错误信息,中间则是在数以编辑区域。
4、 Sourceviewer会根据左右两侧的标记,和perference中的设置,做出响应,简单看到的就是对应文字颜色变化,选择等。
5、 编辑注释时或者写一个关键字时,在关键字没有完成前,显示是一个样子,完成后显示又是一个样子,这部分时时地监听输入变化,是依靠给sourceview注册损毁程序IPresentationDamager,修复程序IPresentationRepairer,及调解程序IPresentationReconciler。一般常见实现是将损坏与修复和为损毁修复程序PresentationDamagerRepairer。
6、 通过给sourceviewer配置SourceViewerDecorationSupport来增加对相应文字的特效,如下划线,斜线等等。
7、 输入提示,java中符号:“ . ”会出现很多输入提示,这部分通过在sourceviewconfiguration中提供接口IContentAssistant实现的。IContentAssistant内进一步定义了具体的内容接口,信息接口及辅助处理
8、 最后一个就是outlineview,使editor的内容在outlineview中显示出来,需要自己实现outlinepage,并在getadaper方法中给与返回。当editor激活时outline会给与相应,并调用getadaper方法获得outlinepage来显示。
9、 Getadaper方法是eclipse的基础,几乎所有的part间内部交互都是通过getadapter来进行,因为eclipse的设计初衷是一个可以随意扩展的平台,又随意扩展,又需要获得必要的信息,来对扩展进行支持。个人认为,这不是adapter模式的实现,只不过是名字相似,eclipse对adapter模式的实现是通过扩展点:runtime.adapters实现的。
5
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics