2012-08-15 65 views
1

我已經完成了我的Xtext和Xtend項目的測試版。現在我想將它與Eclipse集成。使用這個新的Eclipse我希望能夠選擇「New'mydsl'project」,然後在這個新項目中,我希望默認引用一個.jar。也是mydsl的空文件。如果可能的話,擺脫添加Xtext性質到項目。部署Xtext時,如何通過插件與Eclipse集成?

回答

5

有幾個不平凡的過程對於這個問題:

  1. 爲了能夠選擇「新建‘yourDSL’項目」,你將不得不實現自己的項目嚮導。也就是說,在plugin.xml文件中,您必須爲擴展點「org.eclipse.ui.newWizards」做出貢獻並創建一個必須實現INewWizard接口的類,您可以通過擴展Wizard類來實現。

  2. 也就是說嚮導,在performFinish兩個()的任務,應該建立一個IJavaProject編程,你可以指定你想要的性質。您還必須指定源文件夾和輸出文件夾,並配置類路徑(添加類路徑條目)。此鏈接詳細介紹如何創建項目。 http://www.pushing-pixels.org/2008/11/18/extending-eclipse-creating-a-java-project-without-displaying-a-wizard.html

  3. 在上一步(#2)中,創建自定義項目時,可以添加軟件包,文件夾,文件,以便添加空的.mydsl文件。

  4. 現在最棘手的部分。要使默認引用.jar文件有幾種方法。最簡單的方法是,如果事先知道.jar路徑,則可以通過添加指向該.jar文件的類型爲CPE_LIBRARY的類路徑條目(在步驟#2中)來添加引用,但同樣需要知道路徑不知何故。在我的情況下,我不知道路徑,因爲我的.jar文件是作爲插件導出的庫,所以最後我實現了一個IClasspathContainer,它在插件中查找我的插件庫(.jar文件)。你可以看一下你的插件做:

Bundle bundle = Platform.getBundle("com.my.libraryPlugin");

File bundleFile = FileLocator.getBundleFile(bundle);

......然後,在第2步是我補充的是類型CPE_CONTAINER的類路徑條目:

JavaCore.newContainerEntry("MY_CONTAINER"); 

你可以閱讀更多關於IClasspathContainer here:http://www.ibm.com/developerworks/opensource/tutorials/os-eclipse-classpath/section2.html

5-您可能已經知道如何做到這一點。最後一步是導出您的DSL插件並將其複製到Eclipse安裝的「插件」文件夾中。要導出插件:選擇項目 - >右鍵單擊 - >導出 - >插件開發 - >可展開插件和碎片...

+0

謝謝,這是一個非常明確的解釋。 – 2012-08-27 04:34:29

+0

Semih Korkmaz,如果它工作的話,可否請你在這裏(在你的問題中)或互聯網上的某個地方一步一步的教程? – 2012-11-01 04:08:46