基于 JFace Text Framework 构建全功能代码编辑器: 第 9 部分:Template
2010-03-18 00:00:00 来源:WEB开发网核心提示: 这是一个非常简化的版本,正常情况下,基于 JFace Text Framework 构建全功能代码编辑器: 第 9 部分:Template(5),你需要判断光标之前有没有其它字符,如果有,所以并不神奇,神奇的是可以用 Tab 键在参数之间导航,只应该显示以光标之前字符串开头的模版,当你定义了多个
这是一个非常简化的版本,正常情况下,你需要判断光标之前有没有其它字符,如果有,只应该显示以光标之前字符串开头的模版,当你定义了多个模版上下文类型的时候,逻辑就要更复杂了。即便我已经省略了很多东西,创建 TemplateProposal 似乎还是比普通的 Proposal 麻烦一些,需要得到 TemplateContext,而 TemplateContext 需要 TemplateContextType。
效果
我们的缺省模版现在可以出现在内容提示里了,选择之后,模版的内容就被插入到了编辑器中:
图 2. 内容提示中的模版
查看原图(大图)
图 3. 模版被选择后
Linked Model
有趣的事情还没有完,当模版被插入之后,可以看到每个参数的周围都有一个小框,你可以用 Tab 键在各个参数之间切换,当你按下回车键的时候,小框就消失了,也无法用 Tab 键导航了。
我在以前的文章中说过,这些框其实是标注,所以并不神奇。神奇的是可以用 Tab 键在参数之间导航,而且还有更神奇的,请看下图:
图 4. 修改后的 variableDeclaration 模版
更多精彩
赞助商链接