【发布时间】:2019-06-14 03:17:52
【问题描述】:
我试图了解代码生成器 doGenerate 是如何调用的。我举了一个没有任何自定义更改的示例 Xtext 项目(仅问候)。默认情况下,代码生成器如下所示:
override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) {
fsa.generateFile('greetings.txt', 'People to greet: ' +
resource.allContents
.filter(Greeting)
.map[name]
.join(', '))
}
在我运行 Generated Eclipse Plug-in 并创建新的 Java 项目后,该项目在 /src 中的文件具有正确的扩展名 (src.MyDsl)。并将项目转换为xtext性质,我写了一些问候并保存了。但是在 src-gen 中我没有看到生成的文件 greetings.txt。 所以解释器工作但不保存代码。
我在Question: xtext-dogenerate method is not called 中发现我要保存代码的文件需要正确的文件扩展名(区分大小写)--(done),项目 - xtext 性质--(done) 并自动构建需要被启用。
我的问题是如何启用它以自动使用 doGenerate 代码生成器?所以我可以在 greetings.txt 中看到生成的代码
【问题讨论】: