WEB开发网
开发学院软件开发Java 构建基于 CDT 的编辑器,第 2 部分: 在 CDT 中显示... 阅读

构建基于 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 的编辑器,第 2 部分: 在 CDT 中显示文本 

CDT 语法样式化过程

语法样式化 看起来也许很普遍,且是修饰性的,但这个过程却并不简单,在幕后要完成许多的工作。好消息是,一旦明确了这一点,就可以根据喜好自定义每一种颜色和字体样式,并保证编辑器和所想要的完全一样。既然大多数类都是 Eclipse 文本编辑器应用编程接口(API)的一部分,那么就可以直接在编辑器中使用它们。

1 2 3 4 5 6  下一页

Tags:构建 基于 CDT

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接