2016-06-21 13 views
-1

右クリックメニューをクリックしたときに、ファイル名とそのパッケージパスをeclipseで取得します。eclipseプラグインで選択したファイル名とそのパッケージパスを取得する方法

Actionクラスが実装されているIObjectActionDelegate

Runメソッドは次のように、ある

public void run(IAction action) 
{ 
    ISelection sel = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection(); 
    if (!(sel instanceof IStructuredSelection)) 
       return null; 
    } 
    IStructuredSelection selection = (IStructuredSelection) sel ; 
    Object obj = selection.getFirstElement(); 
    IFile file = (IFile) Platform.getAdapterManager().getAdapter(obj, IFile.class); 

しかし、 "SEL" 変数はIStructuredSelectionのインスタンスではありません。したがって、nullを返します。私は次のリンクを経てい

How to get the active package path in eclipse workspace

しかし、結果なし。

+0

をあなたはこのコードを実行していますか? –

+0

@ greg-449ユーザが右クリックメニューをクリックすると。 – abo

+0

'sel'の実際のタイプは何ですか? –

答えて

0

あなたが表示するコードは、ビューの選択には役立ちますが、エディタを扱う場合は、別のやりかたをする必要があります。

ような何か:

IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); 

IEditorPart editor = page.getActiveEditor(); 

IEditorInput input = editor.getEditorInput(); 

IFile file = (IFile)Platform.getAdapterManager().getAdapter(input, IFile.class); 
+0

ありがとうございます。 – abo

関連する問題