【问题标题】:Xtext separate code generator from grammar projectXtext 将代码生成器与语法项目分开
【发布时间】:2014-05-28 03:50:35
【问题描述】:

我正在编写一个代码生成器,我正在考虑将代码生成器与 de 语法分开。我已经成功生成“MyDslGenerator.java”的代码,但我的问题是如何将此项目与语法项目集成。 这样做的想法是将我的项目模块化,一部分负责语法和 ui 生成,另一部分负责代码生成。 每次我尝试设置另一个项目中的代码生成器时,都会出现错误,例如某些方法未实现。将代码生成器与项目分开的最佳方法是什么?

【问题讨论】:

    标签: java code-generation xtext xtend


    【解决方案1】:

    如果有两个版本并在运行时和 ui 中绑定它们呢?或者我不知道是否还在工作http://kthoms.wordpress.com/2011/09/28/moving-an-xtend-generator-into-its-own-plugin/(至少这个想法应该仍然有效)

    【讨论】:

    • 我之前读过那篇文章,但没有成功,因为生成器嵌入到 xtext 项目中。我试图只在另一个项目中生成代码生成器类,并以与使用上下文菜单相同的方式调用它,但我得到了未实现的类的错误。经过一番研究,很多人说我需要实现 IGenerator 接口,但是我如何从另一个插件中调用“doGenerate”方法??
    • 你的插件必须挂在 AS builderparticipant 中
    • 我尝试创建插件挂钩作为构建器参与者,但我得到“没有实现 org.eclipse.core.resources.IWorkspaceRoot 被绑定”和“没有实现 org.eclipse.xtext.generator。 IGenerator 被绑定“。这一切意味着什么?
    • 我已经解决了实现问题,但现在我得到了这个:org.eclipse.xtext.builder.impl.RegistryBuilderParticipant$BuilderParticipantReader - Plug-in org.xtext.example.mydsl.generator无法加载类 org.xtext.example.mydsl.ui.MyDslExecutableExtensionFactory。
    • 当然必须通过插件依赖创建或导入类
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    相关资源
    最近更新 更多