代码生成器 doGenerate 不会在示例 Xtext 项目中生成代码到 txt 文件

Code Generator doGenerate does not generate code to txt-file in Example Xtext Project

我想了解代码生成器 doGenerate 是如何调用的。我拿了一个没有任何自定义更改的示例 Xtext 项目(只有 Greetings)。默认情况下,代码生成器如下所示:

override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) {
    fsa.generateFile('greetings.txt', 'People to greet: ' + 
        resource.allContents
            .filter(Greeting)
            .map[name]
            .join(', '))
}

在我 运行 生成 Eclipse 插件并创建新的 Java 项目后,文件位于 /src 中,扩展名正确 (src.MyDsl)。并将项目转换为 xtext 性质,我写了一些问候语并保存了。但是在 src-gen 中我没有看到生成的文件 greetings.txt。 所以解释器工作但不保存代码。

我在 中发现我要保存代码的文件需要正确的文件扩展名(区分大小写)--(完成),项目 - xtext 性质 --(完成)并且需要启用自动构建。

我的问题是如何让它自动使用 doGenerate 代码生成器?所以我可以在 greetings.txt

中看到生成的代码

你必须确定

  • 您的模型项目具有 Xtext 性质和构建器(right-click、配置)- 如果您打开文件,系统会询问您
  • 您已启用自动构建
  • 如果模型项目是 java 项目模型文件应该在源文件夹中
  • 文件扩展名正确(区分大小写)src.MyDsl 在这方面看起来很可疑