2017-05-30 8 views
0

私は、INewWizardを使ってプロジェクト作成ウィザードで新しいカスタムプロジェクトを作成するEclipseプラグインを開発しました。Eclipse PDE:パッケージエクスプローラで新しいプロジェクトをプログラムで読み込む方法

enter image description here

ユーザーが情報とクリック「完了」を入力すると、プロジェクトが成功し、ワークスペース内に作成されます。問題はパッケージエクスプローラが 'Finish'イベントでこの新しく作成されたプロジェクトをロードしないことです。最終的なウィザードページのperformFinish()の下でパッケージエクスプローラでプロジェクトを自動的に読み込むためには、どのような実装が必要ですか?

このように新しく作成したプロジェクトをパッケージエクスプローラでプログラムに読み込むにはどうすればよいですか?

+0

私はupdatePerspective()メソッドを見つけましたが、それを使用する方法はわかりませんでした。 – Xplora

+1

あなたは 'IProject.create'と他の' IFile' APIを使っていますか?正しいAPIを使用して、プロジェクトを自動的に取得する必要があります。 –

+0

@ greg-449実際にはどちらの方法でも...私は、ファイルシステム上にカスタムテンプレート(いくつかの追加ライブラリを含むシンプルなC++プロジェクト)を作成し、それをperformFinish()上のワークスペースにコピーしました。プログラムでC++プロジェクトを作成するための「働く」方法が見つかりませんでした。あなたが正しい歩みを指すことができれば素晴らしいだろう! – Xplora

答えて

1

のバージョンを使用してプロジェクトを作成するのが理想的です。IProjectDescriptorが必要です。しかし、プロジェクトファイルを作成している場合は、他の方法でも、IProjectを使ってプロジェクトを作成してEclipseに伝える必要があります。

IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); 
IProject project = root.getProject(projectName); 
if (!project.exists()) { 
    project.create(monitor); 
} else { 
    project.refreshLocal(IResource.DEPTH_INFINITE, monitor); 
} 

// TODO add files 

project.refreshLocal(IResource.DEPTH_INFINITE, monitor); 
+0

ありがとう!上記のコードはプロジェクトエクスプローラでプロジェクトディレクトリを作成して自動的にレンダリングします。 1つの問題:プロジェクトディレクトリを右クリックして 'プロジェクトを開く'を選択して 'インクルード'セクションをレンダリングする必要があります。このシナリオを自動化する方法はありますか?これは純粋にC++プロジェクトであり、追加ライブラリはほとんどありません。 – Xplora

+0

Eclipse CDTコード –

+0

については何も分かりません問題はありません。 "project.open(monitor);"トリックをやった! – Xplora

関連する問題