WEB开发网
开发学院软件开发Java 构建基于 CDT 的编辑器,第 1 部分: C/C++ 开发工具... 阅读

构建基于 CDT 的编辑器,第 1 部分: C/C++ 开发工具模型

 2009-12-19 00:00:00 来源:WEB开发网   
核心提示: BBCDT 只包含两个插件:org.dworks.bbcdt.core(核心插件)和 org.dworks.bbcdt.ui(用户界面(UI)插件),第一个插件提供了构成 CDT 模块的类和接口,构建基于 CDT 的编辑器,第 1 部分: C/C++ 开发工具模型(2),第二个插件创建了 UI

BBCDT 只包含两个插件:org.dworks.bbcdt.core(核心插件)和 org.dworks.bbcdt.ui(用户界面(UI)插件)。第一个插件提供了构成 CDT 模块的类和接口。第二个插件创建了 UI,其中包含了创建新源码文件和项目所需的 CEditor 及相关的类、向导和页面。

在第一篇文章中,BBCDT 并未完成任何值得关注的任务,只展示了基本 CDT 类是如何进行交互的。接下来的文章将解释 CDT 如何执行分块、语法着色、解析及代码完成功能。这些文章也将会详述有关 BBCDT 的内容,并确保这些功能被添加到了代码中。

CDT 模块的元素

通常的 Java™ 代码是通过 File 对象来访问文件和目录的。要在工作空间中对文件执行特定于 Eclipse 的操作,您却需要借助于资源应用编程接口(API)中的适配器:

IFile

IProject

IFolder

IWorkspaceRoot

除了提供对文件的访问外,这些 IResource 还提供了工作空间的结构。最顶层的资源是 IWorkspaceRoot,其子为 IProject。每个 IProject 都包含了一些 IFolder 和 IFile。到目前这止,一切都正常。

CDT 模块代表了一个适用于工作空间资源的不同却相似的适配器集合。图 1 显示了它们的继承层次结构。


图 1. CDT 模块元素的层次结构
构建基于 CDT 的编辑器,第 1 部分:  C/C++ 开发工具模型

图 2 显示了 CDT 是如何使用这些元素来组成其工作空间的。在顶端,ICModel 包含了一些 ICContainer 和 ICProject。这些 ICProject 包含了一些 ISourceRoot,这些 ISourceRoot 像 JDT 包一样运行,但却能够包含处于文件系统中不同位置的代码。为管理这些位置,ISourceRoot 包含了 ISourceEntry 实例,它们中的每个都持有一个到不同源码的 IPath。每个 ICElement 都包含一个用于访问其底层 IResource 的特定名称及方法。

上一页  1 2 3 4 5 6 7  下一页

Tags:构建 基于 CDT

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