构建基于 CDT 的编辑器,第 2 部分: 在 CDT 中显示文本
2009-12-19 00:00:00 来源:WEB开发网核心提示:CDT 文本显示简介对于键入的每一个字符,CDT 编辑器都会执行繁多的任务,构建基于 CDT 的编辑器,第 2 部分: 在 CDT 中显示文本,它查找对文档分区的改变并激活进一步分割文本的规则,如果该字符完成了一个函数,并保证编辑器和所想要的完全一样,既然大多数类都是 Eclipse 文本编辑器应用编程接口(API)的
CDT 文本显示简介
对于键入的每一个字符,CDT 编辑器都会执行繁多的任务。它查找对文档分区的改变并激活进一步分割文本的规则。如果该字符完成了一个函数,编辑器允许函数折叠以最小化文本空间。如果该字符完成了一个单词,编辑器决定是否将该词添加到索引中。另外,编辑器还确定该字符是否适合于可接受的 C/C++ 文档结构。如果适合,编辑器更新其内部文档对象模型(Document Object Model, DOM)。如果不适合,编辑器通过注释来提供错误报告。
涵盖 CDT 事件处理的所有方面已超出了本文的范围,所以我们将只关注于语法样式化。我们将解释该编辑器如何基于源代码的结构对文本颜色及字体样式进行改变。这不仅包含了该编辑器如何对键入做出反应,还包含了在第 3 部分讨论 CDT 解析中也要用到的对象和过程。
为了在这里提供相同的文本显示,我已经更新了 第 1 部分 中的 Bare Bones C/C++ 开发工具(BBCDT)。新类包含在 org.bbcdt.dworks.internal.ui.text 和 org.bbcdt.dworks.core.parser 包中。如果在 BBCDT 源文件中键入有效的代码,将看到在完整的 CDT 中常见的语法样式(见图 1)。参见 下载,以重新检索该代码。
图 1. CDT 语法样式
CDT 语法样式化过程
语法样式化 看起来也许很普遍,且是修饰性的,但这个过程却并不简单,在幕后要完成许多的工作。好消息是,一旦明确了这一点,就可以根据喜好自定义每一种颜色和字体样式,并保证编辑器和所想要的完全一样。既然大多数类都是 Eclipse 文本编辑器应用编程接口(API)的一部分,那么就可以直接在编辑器中使用它们。
- ››基于IP地址的vsftp服务器
- ››构建Windows 8风格应用23-App Bar概述及使用规范
- ››基于MySQL 水平分区的优化示例
- ››基于CentOS5的Linux下pptp和openvpn的搭建及配置
- ››构建域名服务器(DNS)
- ››基于JavaScript的网页版塔防游戏
- ››基于Android平台 QQ大战360手机游戏爆红
- ››构建Android平台Google Map应用
- ››基于Windows Azure的云计算应用设计
- ››构建WinForm 通用速选(全选、反选、清空)组件
- ››基于AES算法实现对数据的加密
- ››基于SoPC目标板Flash编程设计的创建及应用
更多精彩
赞助商链接