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

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

4) 缩进有偏差。一切都向左。

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

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

最佳答案

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

关于java - Xtext - 内容提案匹配上下文缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15962065/

相关文章:

Xtext 独立和验证

java - Spring 工具套件 : Error Importing Spring Getting Started Content

java - jUnit 测试用例应该在 throws 声明中还是在 try catch block 中处理默认异常

eclipse - 找不到用于导入的Giraph包的 jar

java - 在再次播放之前停止 MediaPlayer 不起作用

java - 引用xText中Java项目的源代码

c++ - 在 Xtext 语法/DSL 中引用 C++ 类型

java - Intellij Idea 无法执行 git pre-push hook

java - Json如何读取混合子类的数组?

eclipse - 神秘的 Scala + Eclipse 编译错误