Xtext - 内容提案匹配上下文缩进

时间:2013-04-12 02:23:20

标签: java eclipse xtext

使用XText,是否可以通过内容提案添加文本以匹配插入的格式(当前缩进)?

我现在做的事情:

1)创建将用于内容提案的模型

2)我得到了内容提议字符串:

EObject myelement是生成的代码,可以插入到我的Xtext文档中。

class MyContentProposalProvider extends AbstractContentProposalProvider
{

 private void acceptProposal(
   ContentAssistContext context,
   ICompletionProposalAcceptor acceptor,
   ElementContentProposal contentProposal,
   EObject myElement) {
        final String proposalString = context.getResource().getSerializer().serialize(myElement);
        final String proposalDisplayCode = proposalString.replaceAll("(\\r|\\n)", "");
        final ICompletionProposal completionProposal = createCompletionProposal(proposalString,
                    String.format("%s : %s", proposalDisplayCode, p.getDescription()), null,
                    context);
        acceptor.accept(completionProposal);
  }
}

3)在Xtext Editor中选择提案。

4)缩进很远。一切都在左边。

5)到目前为止,我认为解决这个问题的唯一方法是在提案之后格式化整个文档;但是,这可能会产生不必要的副作用。

有没有办法让上面生成的提案字符串的缩进与提出的上下文一致? (这意味着,保留缩写设置不受首选项的影响,例如空格而不是制表符。)

1 个答案:

答案 0 :(得分:0)

在Xtext 2.9中,序列化器将能够生成格式化输出。