在静态网页上轻轻转发我的eclipse运行时
Forward lightly my eclipse runtime on a static web page
也许我的问题无关紧要,但我目前正在 Xtext 上开发一个小型 DSL,以生成旨在使用 Coq 编译的代码。
我想知道是否有一种简便的方法可以将我的 xtext-runtime(或更普遍的 eclipse 运行时)转发到网页上,我查看了 dsl-forge(与我当前的 xtext 版本不匹配) ) 和 xtext 网站的 web editor 页面,但看起来很复杂。
有什么建议吗?
我在这方面的经验很少,但是使用Xtext的web支持确实不简单(虽然可行,见下文)。现在我宁愿选择 Xtext 的 LSP 支持(自 Xtext 2.11 起可用)。
LSP 是一种允许将编辑器和 "language server" 分开的协议,后者是实际的语言实现(提供自动完成等功能)。主要优点是,一旦您拥有语言服务器,您就可以轻松地为大多数 IDE/editors(基于 Web 和桌面)添加对该语言的支持。
有关比较 Xtext Web 集成和 Xtext LSP 的文章,请参阅 here for an article showing how an Xtext language can be supported in VS Code thanks to LSP and here。
您可能还对 Eclipse Theia 和 Eclipse Che 感兴趣(对于基于云的 IDE — 也许不是 "lightly"):
- Github 存储库演示了通过 Xtext 语言服务器支持 DSL 的 Theia 应用程序:https://github.com/theia-ide/theia-xtext
- Medium 文章演示了在 Theia 中集成基于 Xtext 的 DSL:https://medium.com/@jan.koehnlein/domain-specific-languages-in-theia-8838aee1279
Xtext 网络集成
(免责声明:前一段时间学校项目的回忆)
基本上,在新建Xtext项目时勾选"Web Integration",Xtext会生成:
- 必须在自定义服务器中提供的 XtextServlet。它提供自动完成、验证,并将在每次击键时由前端调用。
- 一个 JavaScript 文件,必须将其集成到您选择的 Web 编辑器中(我认为这是最棘手的部分)。它提供语法高亮并负责与 XtextServlet 通信。
然后由您使用这些组件构建 Web 编辑器。
也许我的问题无关紧要,但我目前正在 Xtext 上开发一个小型 DSL,以生成旨在使用 Coq 编译的代码。
我想知道是否有一种简便的方法可以将我的 xtext-runtime(或更普遍的 eclipse 运行时)转发到网页上,我查看了 dsl-forge(与我当前的 xtext 版本不匹配) ) 和 xtext 网站的 web editor 页面,但看起来很复杂。
有什么建议吗?
我在这方面的经验很少,但是使用Xtext的web支持确实不简单(虽然可行,见下文)。现在我宁愿选择 Xtext 的 LSP 支持(自 Xtext 2.11 起可用)。
LSP 是一种允许将编辑器和 "language server" 分开的协议,后者是实际的语言实现(提供自动完成等功能)。主要优点是,一旦您拥有语言服务器,您就可以轻松地为大多数 IDE/editors(基于 Web 和桌面)添加对该语言的支持。
有关比较 Xtext Web 集成和 Xtext LSP 的文章,请参阅 here for an article showing how an Xtext language can be supported in VS Code thanks to LSP and here。
您可能还对 Eclipse Theia 和 Eclipse Che 感兴趣(对于基于云的 IDE — 也许不是 "lightly"):
- Github 存储库演示了通过 Xtext 语言服务器支持 DSL 的 Theia 应用程序:https://github.com/theia-ide/theia-xtext
- Medium 文章演示了在 Theia 中集成基于 Xtext 的 DSL:https://medium.com/@jan.koehnlein/domain-specific-languages-in-theia-8838aee1279
Xtext 网络集成
(免责声明:前一段时间学校项目的回忆)
基本上,在新建Xtext项目时勾选"Web Integration",Xtext会生成:
- 必须在自定义服务器中提供的 XtextServlet。它提供自动完成、验证,并将在每次击键时由前端调用。
- 一个 JavaScript 文件,必须将其集成到您选择的 Web 编辑器中(我认为这是最棘手的部分)。它提供语法高亮并负责与 XtextServlet 通信。
然后由您使用这些组件构建 Web 编辑器。