2017-08-16 65 views
0

我目前正在編寫一個eclipse插件,並在其中創建了一個新的項目和一個新的文件創建嚮導。Eclipse插件:新文件嚮導擴展INewWizard,如何讓選定的項目在其中創建

在新項目嚮導中,我創建了它,所以我沒有問題獲取它並在其中創建新文件。 (如爲您的項目創建主類)

但是,當我在我的新建文件嚮導中,我幾乎不知道如何選擇正確的項目,我希望得到一些幫助。 既然是一個精靈,我想避免需要打開的編輯器,因爲它是一個新的嚮導,它沒有一個處理程序,所以我不能從那裏得到它...

感謝您在 親切地,

+0

標準的新文件得到我的項目,我的嚮導和類似嚮導顯示嚮導的第一個頁面,讓你選擇的位置上樹新文件 - 這是你想要的嗎? –

+0

我不需要一棵樹,因爲我想在根文件夾中創建它,但我會研究它。它畢竟沒有可能,所以感謝 – Zawarudio

回答

0

好吧,我從另一種方法看它,它現在感覺很愚蠢。

初始化嚮導時,會得到一個包含工作臺和選區的init方法,以便保留它。

private IWorkbench wb; 
private IStructuredSelection sel; 
@Override 
public void init(IWorkbench workbench, IStructuredSelection selection) { 
    wb = workbench; 
    sel = selection; 
} 

然後,我發現了早期基於Eclipse的網站代碼段,下鏈接在這裏,我不得不改了一下,和它做什麼,我想要它做的。

// Get selected resource (can get project from it) 
// https://wiki.eclipse.org/FAQ_How_do_I_access_the_active_project%3F 
private IResource extractSelection() { 
    Object element = sel.getFirstElement(); 
    if (element instanceof IResource) 
     return (IResource) element; 
    if (!(element instanceof IAdaptable)) 
     return null; 
    IAdaptable adaptable = (IAdaptable)element; 
    Object adapter = adaptable.getAdapter(IResource.class); 
    return (IResource) adapter; 
} 

有了這個,我可以通過做

IProject project = extractSelection().getProject(); 
+0

你不會總是得到一個選擇。有時在嚮導啓動時沒有選擇任何內容。 –

相關問題