我目前正在編寫一個eclipse插件,並在其中創建了一個新的項目和一個新的文件創建嚮導。Eclipse插件:新文件嚮導擴展INewWizard,如何讓選定的項目在其中創建
在新項目嚮導中,我創建了它,所以我沒有問題獲取它並在其中創建新文件。 (如爲您的項目創建主類)
但是,當我在我的新建文件嚮導中,我幾乎不知道如何選擇正確的項目,我希望得到一些幫助。 既然是一個精靈,我想避免需要打開的編輯器,因爲它是一個新的嚮導,它沒有一個處理程序,所以我不能從那裏得到它...
感謝您在 親切地,
我目前正在編寫一個eclipse插件,並在其中創建了一個新的項目和一個新的文件創建嚮導。Eclipse插件:新文件嚮導擴展INewWizard,如何讓選定的項目在其中創建
在新項目嚮導中,我創建了它,所以我沒有問題獲取它並在其中創建新文件。 (如爲您的項目創建主類)
但是,當我在我的新建文件嚮導中,我幾乎不知道如何選擇正確的項目,我希望得到一些幫助。 既然是一個精靈,我想避免需要打開的編輯器,因爲它是一個新的嚮導,它沒有一個處理程序,所以我不能從那裏得到它...
感謝您在 親切地,
好吧,我從另一種方法看它,它現在感覺很愚蠢。
初始化嚮導時,會得到一個包含工作臺和選區的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();
你不會總是得到一個選擇。有時在嚮導啓動時沒有選擇任何內容。 –
標準的新文件得到我的項目,我的嚮導和類似嚮導顯示嚮導的第一個頁面,讓你選擇的位置上樹新文件 - 這是你想要的嗎? –
我不需要一棵樹,因爲我想在根文件夾中創建它,但我會研究它。它畢竟沒有可能,所以感謝 – Zawarudio