在che中增长EMF支持 - Day0:动机和第一步

在2016,eclipse che在2016被发布。做为eclipse生态环境中的基于云的IDE,乍一看它只是在浏览器中运行的一个IDE。java

clipboard.png

然而,che有一个颇有趣的特性:可共享的工做空间。一个工做空间是指一个工程以及他的编译、调试、执行环境。传统意义上,工做空间是一个属于本地的概念,开发者在本地确保源码所需的工具都安装完备。而che使用docker容器来支持工做框架的可执行性。使得一个工做空间能够被多个开发者共享。这就减小了新的开发者加入一个组时,须要的那些配置环境等等的复杂操做。能够经过访问 https://www.eclipse.org/che/ 来了解更多。git

毫无疑问,咱们对这个新技术很感兴趣,其中一部分须要研究的就是“如何使用它以及和其余eclipse IDE相比它有多强大”。固然,做为技术开发者,咱们更关心如何将che中没有的特性和框架加入并延伸至che中。咱们是否可以将在eclipse里面建立的技术支持移植在che里面?github

所以,咱们进行的尝试即是:为che增长一个新的插件。咱们的目的是了解和使用这个平台并最后给核心开发团队提供相关的反馈。所以,咱们选择了一个咱们熟悉的但che还没支持的特性:EMF( Eclipse Modeling Framework)以及生成代码。EMF是一个很实用的生成java中实体类的框架工具,能够自行去了解。docker

本文开始的一系列博客都将围绕在che中创建EMF支持展开。下图是咱们目标的一个简单实例。浏览器

clipboard.png

将这个实例分为几个部分框架

  1. 建立模型项目
    首先,咱们想可以建立一个“样例项目”——一个由典型的Ecore包。主要包括一个.ecore文件描述模型和一个.genmodel文件进行代码生成。所以,咱们须要扩展che使得它能够提供这个模板,让这个模板能够做为sample加载。在一开始,咱们可能须要使用一个已有的模板项目,这样使得咱们能够进一步实现接下俩的需求。
  2. 编辑Ecore文件和GenModel
    固然,咱们也会想要修改这些人工写的包,因此咱们须要编辑器能支持.ecore.genmodel文件。
  3. 生成代码
    如题,为了这个目标,咱们想找一个方法来将现有的生成器整合到che里面。最后,咱们认为能够经过在che里加一个操做按键来触发代码生成。
  4. 编辑器修改
    咱们想在编辑器里面方便的编辑和修改Ecore和GenModels,因此须要一个能够支持树形/表单的编辑器。(如前面的图)

好消息是Che全部这一切都是可能的,咱们在Che中实现了EMF支持的原型,以知足全部描述的要求。代码在这个仓库eclipse

相关文章
相关标签/搜索