在2016,eclipse che在2016被发布。做为eclipse生态环境中的基于云的IDE,乍一看它只是在浏览器中运行的一个IDE。java
然而,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支持展开。下图是咱们目标的一个简单实例。浏览器
将这个实例分为几个部分框架
.ecore
文件描述模型和一个.genmodel
文件进行代码生成。所以,咱们须要扩展che使得它能够提供这个模板,让这个模板能够做为sample加载。在一开始,咱们可能须要使用一个已有的模板项目,这样使得咱们能够进一步实现接下俩的需求。.ecore
和.genmodel
文件。好消息是Che全部这一切都是可能的,咱们在Che中实现了EMF支持的原型,以知足全部描述的要求。代码在这个仓库。eclipse