构建基于 CDT 的编辑器,第 1 部分: C/C++ 开发工具模型
2009-12-19 00:00:00 来源:WEB开发网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 模块元素的层次结构
图 2 显示了 CDT 是如何使用这些元素来组成其工作空间的。在顶端,ICModel 包含了一些 ICContainer 和 ICProject。这些 ICProject 包含了一些 ISourceRoot,这些 ISourceRoot 像 JDT 包一样运行,但却能够包含处于文件系统中不同位置的代码。为管理这些位置,ISourceRoot 包含了 ISourceEntry 实例,它们中的每个都持有一个到不同源码的 IPath。每个 ICElement 都包含一个用于访问其底层 IResource 的特定名称及方法。
- ››基于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编程设计的创建及应用
更多精彩
赞助商链接