開發中如何按需訪問Eclipse Workspace

發表于:2007-06-10來源:作者:點擊數: 標簽:
摘要: 在 開發 Eclipse pluin的時候,某些情況下我們需要訪問Eclipse workspace,例如:在插件中以編程的方式調用 ant 命令、訪問Eclipse workspace中的project等。一次在網上偶遇到本文的原創者kobye,此人正在進行jsports項目的開發,對此頗有心地,故在

 

 

 

 

 

 

 

 

摘要:

開發Eclipse pluin的時候,某些情況下我們需要訪問Eclipse workspace,例如:在插件中以編程的方式調用ant命令、訪問Eclipse workspace中的project等。一次在網上偶遇到本文的原創者kobye,此人正在進行jsports項目的開發,對此頗有心地,故在此行文與眾人共同探討之。

一、基礎工作-在插件中以編程的方式調用ant命令:

在開發Eclipse pluin的時候,某些情況下我們需要訪問Eclipse workspace,例如:在插件中以編程的方式調用ant命令等。

如何做到這一點?

以上代碼(單獨編譯不會通過,請把 name換位ant 的target)可以放到插件的代碼中。以上代碼的含義:

獲得Eclipse workspace的引用,對workspace下的pronjects進行循環,如果該project下有build。xml并且該文件中有name的target那么就以ant的方式調用,并把ant運行的輸出輸出到Eclipse的console。

二、如何訪問current project:

上一節給出來在Eclipse plugin 中訪問Eclipse workspace, 從而訪問該workspace下所有project的方案,WorkSpace以及相關的類不提供直接訪問current project的方法,所以只能走其他途徑。

在我們的plugin中,我們要提供界面入口,比如 PopMenu ActionMenu 等之類的,

這些界面入口是要實現一些接口的,例如:PopMenu要實現IObjectActionDelegate,

這個接口有幾個方法,其中 public void selectionChanged(IAction action, ISelection selection) ;

這個方法很早重要,可以通過ISelection獲得當前選擇中的Project。ISelection共有三個子接口,分別對應三個實現類,那么通過判斷ISelection的實際類型可以獲得其子接口的引用,

然后對其遍歷,通過getAdaptor方法獲得所有的選擇的IResource的引用,再進一步對IResource進行類型識別,得到IResource。PROJECT類型的元素即為IProject的引用。

下面是程序:

(T117)





原文轉自:http://www.anti-gravitydesign.com

評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97