autocomplete - 如何在 Xtext 中编写自定义自动完成功能?

标签 autocomplete editor xtext

我只是找不到任何关于此的信息,只有有关编写自定义自动完成建议的来源,这不是我想要的(或者不是)?

语法

我们可以为此使用示例语法:

Model:
    greetings+=Greeting*;

Greeting:
    'Hello' name=ID '!';

问题

现在,当用户创建语法的新实例时,他必须
  • 写“你好”(并能完成)
  • 已写空间
  • 现在可以自动完成“名称= ID”

  • 但这不是我想要的。

    我要什么
  • 当用户完成“Hello”时,我希望其余部分填充一个默认示例,例如:“Hello World”

  • 这可能吗?
    这有什么来源吗?
    研究这个问题的切入点在哪里?
    我可以在完成后仅打印一些文本来存档,还是需要用示例填充模型(我可以在哪里执行此操作)?

    最佳答案

    查看文档中的“模板提案”部分。或者覆盖 complete_Greeting在提案提供者中

    class MyDslProposalProvider extends AbstractMyDslProposalProvider {
    
        override complete_Greeting(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
            acceptor.accept(createCompletionProposal("Hello World!",context))
            super.complete_Greeting(model, ruleCall, context, acceptor)
        }
    
    }
    

    关于autocomplete - 如何在 Xtext 中编写自定义自动完成功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31423535/

    相关文章:

    java - Eclipse (XText) SelectionListener 注册

    vue.js - Vuetify 自动完成将不会渲染

    java - 在 Intellij IDEA 的编辑器选项卡中更改组件

    java - Xtext validator 创建错误

    javascript - Ace 编辑器 ace.js 文件大小

    c# - .NET 语句的表达式

    java - 使用 xtext-xbase-xtend 工具链创建简单的特定于领域的语言

    javascript - jQuery UI 自动完成 IE 光标位置错误

    php - Netbeans 中的 Yii 框架 - 对象方法自动完成未出现

    html - 自动完成属性不起作用