2017-08-16 3 views
0

現在、Eclipseプラグインを作成しています。新しいプロジェクト作成と新しいファイル作成ウィザードがあります。Eclipseプラグイン:INewWizardを拡張する新しいファイルウィザード、選択したプロジェクトを作成する方法

新しいプロジェクトウィザードで作成するので、問題なく新しいファイルを作成できます。 (プロジェクトのMainクラスの作成など)

しかし、私が新しいファイルウィザードを使用しているときは、どのように適切なプロジェクトを選択するかわからないので、助けてください。 これはウィザードなので、開いているエディタが不要で、新しいウィザードであるためハンドラがないため、そこから取得できません。

ありがとう前もって、 コーディアルで、

+0

標準新しいファイルを実行して、私のウィザードに私のプロジェクトを取得することができ、同様のウィザードはあなたが場所を選択することができますウィザードの最初のページにあるツリーを表示します新しいファイル - これはあなたが望むものですか? –

+0

私はルートフォルダに作成したいのでツリーは必要ありませんが、私はそれを調べます。結局のところ、可能性を持つことを傷つけることはありません、ありがとう – Zawarudio

答えて

0

さて、私は別のアプローチから見て、今はかなり愚かだと感じています。

ウィザードを初期化すると、ワークベンチと選択肢を含むinitメソッドが取得されるので、そのまま保持することができます。

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

その後、私は少し変更しなければならなかったことを、ここでは下のリンク、EclipseのWebサイト上で、以前のコードスニペットを発見した、そしてそれは、私はそれが何をしたいのかありません。これにより

// 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

あなたはいつも選択を得るわけではありません。ウィザードの起動時に、何も選択されないことがあります。 –

関連する問題