在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