首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将XML大纲添加到Xtext DSL IDE

将XML大纲添加到Xtext DSL IDE
EN

Stack Overflow用户
提问于 2015-08-19 20:39:55
回答 1查看 155关注 0票数 0

我有由xtext 2.8.4生成的DSL IDE。它工作正常。由于不同的原因,我不得不为不同类型的文件实现几个编辑器。我很容易添加了带有语法着色的XML编辑器。此外,我需要为XML的大纲视图。如果我没弄错的话,我必须实现这样的东西

代码语言:javascript
运行
复制
public class XMLOutlineTreeProvider implements IOutlineTreeStructureProvider, IOutlineTreeProvider, IOutlineTreeProvider.Cancelable {}

此外,Eclipse平台本身也有XML大纲实现。我可以在xtext项目中重用这个实现吗?我确信有现成的实现可以用于此任务,但我可以找到它。下一个问题是我不知道如何在XText核心中注册我的实现

感谢您的任何建议

谢谢,亚历克斯

EN

回答 1

Stack Overflow用户

发布于 2015-08-19 21:51:29

我猜重用现有的大纲实现要比自己实现几个方法要费力得多。实际上,您只需为xml节点提供标签、图标路径和子节点列表。

原则上看起来是这样的(代码是Xtend):

代码语言:javascript
运行
复制
def _createChildren(IOutlineNode parentNode, Element element) {
    element.children.forEach [
        createNode(parentNode, it);
    ]
}

标签提供程序:

代码语言:javascript
运行
复制
def text(Element ele) {
    return ele.name
}

def text(Attribute attr) {
    attr.name + '=' + attr.value 
}

def image(Element ele) {
    'element.gif'
}

域模型示例或算术示例确实实现了一个简单的大纲。你可能会想要看看这些。

重用现有的东西更加麻烦,因为您必须使基于EMF的Xtext模型适应XML大纲所期望的内部模型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32095782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档