4

使用 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 编辑器中选择一个提案。

4)缩进很远。一切都向左走。

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

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

4

1 回答 1

0

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

于 2015-08-25T15:26:27.013 回答