0

現在、Eclipse プラグインを開発しています。したがって、プロジェクトで現在選択されているファイルを知る必要があります(ランタイム環境ではありません)。今までEclipseから選択を取得しており、選択が(デバッガーからの)ファイルであることを知っています。しかし、それが本当にファイルであるかどうかを確認すると、機能しません。

ISelection selection = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
                                 .getActivePage().getSelection();
if (selection instanceof ITreeSelection) {
  ITreeSelection treeSelection = (ITreeSelection) selection;
  Object firstElement = treeSelection.getFirstElement();  //This Object is a File
  if (firstElement instanceof File) {
    File file = (File) firstElement;
    String absolutePath = file.getAbsolutePath();
    String path = file.getPath();
    System.out.println("");
  }
}

コードをデバッグすると、instanceofブロックをステップオーバーします。私は何を間違っていますか?ブロックに入りたい。

4

1 に答える 1

2

あなたがする必要があるのは、それが Adaptable のインスタンスであるかどうかを調べることだと思います。

if (firstElement instanceof IAdaptable) {
     file = (IFile) ((IAdaptable) firstElement).getAdapter(IFile.class);
}

Eclipse で現在選択されているファイルのパスを取得する方法をご覧ください

于 2013-08-12T09:26:22.450 に答える