【问题标题】:Code Generator doGenerate does not generate code to txt-file in Example Xtext Project代码生成器 doGenerate 不生成代码到示例 Xtext 项目中的 txt 文件
【发布时间】: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 中看到生成的代码

【问题讨论】:

    标签: dsl xtext xtend


    【解决方案1】:

    你必须确定

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

    【讨论】:

    • 哎呀!非常感谢你,使用 src.mydsl 它可以工作。我明白了。我在扩展上犯了一个错误......只是没有文字:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 2012-07-15
    相关资源
    最近更新 更多