プラグインからEclipseのワークスペース上のリソースを操作する方法をまとめます。
Eclipseのワークスペース関連のAPIは
のような構成となっています。これらへの参照を取得して、そのオブジェクトのメソッドを呼び出してワークスペースを操作するわけですね。
あ、これらのAPIを使用するには
org.eclipse.core.resources
を依存関係に追加してください。
IWorkspace workspace = ResourcesPlugin.getWorkspace(); IWorkspaceRoot root = workspace.getRoot();
これでワークスペースへの参照を取得することができます。このIWorkspaceRoot? から各プロジェクトへの参照を取得することができます。
IWorkspaceRoot root = workspace.getRoot(); IProject[] projects = root.getProjects();
これで現在起動しているワークスペース内のプロジェクトを配列で取得することできました。また、
IProject project = root.getProject([プロジェクト名の文字列]);
などとしてプロジェクト名指定で参照を取得することもできます。
先のメソッドでプロジェクトを取得することができましたが、プロジェクトを作成するには以下のようにします。
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); IProject project = root.getProject("hogehoge"); if (!project.exists()) { try { project.create(null); } catch (CoreException e1) { // TODO 自動生成された catch ブロック e1.printStackTrace(); } }
プロジェクトが存在するときにcreateを実行すると
org.eclipse.core.internal.resources.ResourceException: リソース /hogehoge はすでに存在します。
のように例外が発生するため、存在チェックをしています。またプロジェクトを作成する
IProject#create(IProgressMonitor monitor)
メソッドは時間がかかる場合があるため、引数にIProgressMonitor?を取ります。ここではとりあえずnullを渡してますが、
プロジェクト内のリソースは
'Eclipse/プラグイン開発のTIPS集/ワークスペースのリソースを取り扱う/' には、下位層のページがありません。
この記事は
現在のアクセス:48145