MPS 中的自定义编辑器

Custom editor in MPS

我在 Jetbrains MPS 中有一个概念,我想为其创建一个自定义编辑器。

概念有child人

对于每个 child,我想显示 child 自己的编辑器,但在它前面有一个“-”。

我不完全确定我正在尝试以正确的方式解决这个问题。

但我的第一次尝试是在 child 节点上循环自定义单元格。

我的问题是我不知道如何找到 child 节点的编辑器单元格:

我的手机提供商:

return new AbstractCellProvider(node) {
@Override
public EditorCell createEditorCell(EditorContext ctx) {
  EditorCell_Collection cells = EditorCell_Collection.createVertical(ctx, node);
  foreach n in node.elements {  
    EditorCell_Collection a = EditorCell_Collection.createHorizontal(ctx, node);
    EditorCell_Label label = new EditorCell_Constant(ctx, node, "-");
    a.addEditorCell(label);
    cells.addEditorCell(a);

       how to add the child node's editor here? 

   }
return cells;
}

你真正想要达到的目标是什么?一个例子可能对这里有帮助...... 如果没有进一步的上下文(所以我可能会误解你的问题),我认为你可以使用 EditorComponent (https://www.jetbrains.com/help/mps/editor.html#editorcomponentsandeditorcomponentcells) 作为原始编辑器,然后使用“-”常量制作一个编辑器,后跟 EditorComponent 以达到预期效果.