【问题标题】:XText - Multiple grammars and example web editorXText - 多种语法和示例网络编辑器
【发布时间】:2018-11-13 15:52:39
【问题描述】:

我有一个包含多个语法的 XText 项目设置,并且能够在 mwe2 工作流生成的 IDE 中使用交叉链接编辑每个语法。当我运行示例 Web 编辑器时,mwe2 工作流中定义的 first 语法正常运行。

如果我将生成的 index.html 更改为使用备用语法扩展之一,则编辑器不再起作用,并且我收到如下错误消息:

Xtext 服务“发生”失败:无法识别 Xtext 资源 3c05cdd1.ed 的语言

我想了解哪里出了问题,以便更好地了解如何开始将语法编辑器最小化集成到我们现有的控制台中。

谢谢!

皮埃尔·帕多瓦尼

附:我已经在 Eclipse 社区论坛上发布了同样的问题,但我的帖子似乎卡在了主持人队列中。

【问题讨论】:

  • 如何将 webapp 打包在一起?见 org.xtext.example.mydsl2.web.MyDslServlet.init()
  • @ChristianDietrich 我现在不打包任何东西。我从生成的 .web 项目运行 ServerLauncher。在那个项目中有两个 *Servlet 文件,每个文件都有一个 init()。我的假设是这些类被注入到整个运行的应用程序中。

标签: eclipse xtext


【解决方案1】:

找到@ppadovani 提到的线程后,似乎唯一必要的更改是忽略所有生成的Servlet.xtend 文件,但语法正常的文件除外。

在那个可行的情况下,有必要为其他语言初始化运行WebSetup

override init() {
    super.init()

    // call createInjectorAndDoEMFRegistration for each WebSetup
    new DerivedDslWebSetup().createInjectorAndDoEMFRegistration

    // keep the rest as-is
    val injector = new CoreDslWebSetup().createInjectorAndDoEMFRegistration()
    disposableRegistry = injector.getInstance(DisposableRegistry)
}

参考:https://www.eclipse.org/forums/index.php?t=msg&th=1096166&goto=1798287&#msg_1798287

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-26
    • 2019-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多