Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Autocomplete 如何在Xtext中编写自定义自动完成?_Autocomplete_Editor_Xtext - Fatal编程技术网

Autocomplete 如何在Xtext中编写自定义自动完成?

Autocomplete 如何在Xtext中编写自定义自动完成?,autocomplete,editor,xtext,Autocomplete,Editor,Xtext,我只是找不到关于这方面的任何信息,只有关于编写自定义自动完成方案的信息来源,这不是我想要的(或者是真的) 语法 我们可以使用示例语法: Model: greetings+=Greeting*; Greeting: 'Hello' name=ID '!'; 问题 现在,当用户创建语法的新实例时,他必须 写“你好”(并且可以完成它) 必须写一个空格 现在可以自动完成“Name=ID” 但这不是我想要的 我想要什么 当用户完成“Hello”时,我希望剩下的部分填充一个默认示例,如:

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

语法

我们可以使用示例语法:

Model:
    greetings+=Greeting*;

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

现在,当用户创建语法的新实例时,他必须

  • 写“你好”(并且可以完成它)
  • 必须写一个空格
  • 现在可以自动完成“Name=ID”
  • 但这不是我想要的

    我想要什么

  • 当用户完成“Hello”时,我希望剩下的部分填充一个默认示例,如:“helloworld”
  • 这可能吗? 这有什么来源吗? 研究这个问题的切入点在哪里?
    我是否可以在完成后打印一些文本来存档此文档,或者我是否需要在modell中填充一个示例(我可以在哪里执行此操作)?

    查看文档中的“模板建议”部分。或者,替代提案提供程序中的
    完成\u问候

    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)
        }
    
    }
    
    非常感谢。这(覆盖提供者)正是我所需要的。