6

Eclipse で開かれたプロジェクト内のすべてのファイルの絶対パスのリストを提供するプラグインを作成しようとしています。

試してみましたが、アクティブなウィンドウのパスしか取得できません..

私のアクションコードは次のとおりです。

  IWorkbenchPart workbenchPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart(); 
    IFile file = (IFile) workbenchPart.getSite().getPage().getActiveEditor().getEditorInput().getAdapter(IFile.class);
    if (file == null)
        try {
            throw new FileNotFoundException();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    String path = file.getRawLocation().toOSString();
    System.out.println("path: " + path);

ここでは、アクティブなウィンドウのパスのみを取得しています..しかし、プロジェクト内のすべてのファイルの絶対パスのリストが必要です..主にsrcフォルダーの下のファイル...

同じ方法で実行できるか、別の API を使用する必要があるかどうかを教えてください。

4

2 に答える 2

7

調査した結果、以下のコードがEclipseの現在のワークスペースのプロジェクトディレクトリのパスを取得することがわかりました。

//get object which represents the workspace  
IWorkspace workspace = ResourcesPlugin.getWorkspace();  

//get location of workspace (java.io.File)  
File workspaceDirectory = workspace.getRoot().getLocation().toFile()

注:これらのAPIをインポートorg.eclipse.core.resourcesして使用する必要がありますorg.eclipse.core.runtime

ソース

于 2013-03-06T12:01:46.240 に答える