构建基于 CDT 的编辑器,第 1 部分: C/C++ 开发工具模型
2009-12-19 00:00:00 来源:WEB开发网
清单 1. .cdtproject 配置文件中的信息<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
<buildOutputProvider>
<openAction enabled="false" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="makefileGenerator">
<runAction arguments="-f ${project_name}_scd.mk" command="make"
useDefault="true"/>
<parser enabled="false"/>
</scannerInfoProvider>
</profile>
最后一步涉及将该项目标记为一个 C 或 C++ 项目。核心插件通过将 CNature 或 CCNature 添加到 IProjectDescription 中来完成这一任务。这些类自己并未完成什么值得关注的任务,但当 DeltaProcessor 意识到新项目的性质时,它会让CModelManager 创建一个与项目资源相对应的 CProject,并将其添加至 CDT 模型层次结构中。
步骤 3:创建新 TranslationUnit 和 WorkingCopy
不同于 CProject,TranslationUnit 并不会在其内含的 IFile 出现后立刻被构建。相反,它会在该文件被激活且编辑器打开后被构建。为解释这项任务是如何运行的,我首先要介绍 CDT 编辑过程的核心类:CEditor。
本质上,CEditor 是一个跟工作台适配,并从 IEditorInput 实例中获取内容的 StyledText 小部件。为了与模型-视图-控制器架构保持一致,Eclipse 文本编辑器 API 只使用此部件来提供视图外观。该编辑器的信息被封装到 IDocument 实例中。SourceViewer 扮演控制器的角色,CSourceViewer 管理对 CDT 文档的访问。
- ››基于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编程设计的创建及应用
更多精彩
赞助商链接