构建基于 CDT 的编辑器,第 5 部分: 将 PDOM 用于代码完成
2009-12-19 00:00:00 来源:WEB开发网对于 TemplateEngine 来说,创建 CTemplateProposal 很简单,这是由于它并不关心补全节点或代码的 AST。相反,它只把特定的关键字和模板建议匹配起来。可以通过 Window > Preferences ... > C/C++ > Editor > Templates 来配置 CDT 模板。或者,如果想添加您自己的配置,那么更改 org.eclipse.cdt.ui 插件的模板文件夹中的 default-templates.xml 文件,或者为 org.eclipse.ui.editors.templates 点添加一个扩展。
PDOMCompletionContributor 是 DOMCompletionContributor 的一个子类,这两个类功能类似。所不同的是:PDOMCompletionContributor 通过在第 4 部分中描述过的 PDOM 数据库中进行搜索,为补全节点查找 IBinding。即,它创建一个 IPDOMVisitor 并访问其中的每个 PDOMBinding。如果绑定名以该前缀开头,它会创建一个如 DOMCompletionContributor 那样的建议。
注意: 在写作本文时,PDOMCompletionContributor 还不能正确工作。但这会在不远的将来改变。
KeywordCompletionContributor 是 5 种贡献器中最简单的一种,它补全已经开始的关键字。具体地说,它创建两个数组:ckeywords 和 cppkeywords,这两个数组的 String 是从 org.eclipse.cdt.core.parser 的 Keywords 类中获得的。如果这两个数组中的任何元素以该前缀开头,贡献器会创建一个相应的 CCompletionProposal。
我将省略 HelpCompletionContributor,因为它需要解释 CDT 的帮助系统如何运行。相反,我要探讨补全贡献器的目标:CCompletionProposal。它不仅包含补全 String。它还存储了该 String 的样式、文档中 String 应存放的位置以及应与该建议关联在一起的 Image。
- ››基于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编程设计的创建及应用
更多精彩
赞助商链接