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

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

 2009-12-19 00:00:00 来源:WEB开发网   
核心提示: 清单 1. .cdtproject 配置文件中的信息<profileid="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"><buildOutputProvider><openAc


清单 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 文档的访问。

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

Tags:构建 基于 CDT

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