Eclipseコマンドプラグインを作成していて、パッケージエクスプローラビューで現在選択されているノードを取得したいとします。選択したノードがファイルシステム(つまりc:\ eclipse \ test.html)にある絶対ファイルパスを、返された結果から取得できるようにします。Eclipseプラグインからパッケージエクスプローラで選択したノードを取得する方法
どうすればよいですか?
Eclipseコマンドプラグインを作成していて、パッケージエクスプローラビューで現在選択されているノードを取得したいとします。選択したノードがファイルシステム(つまりc:\ eclipse \ test.html)にある絶対ファイルパスを、返された結果から取得できるようにします。Eclipseプラグインからパッケージエクスプローラで選択したノードを取得する方法
どうすればよいですか?
コードは次のようになります:あなたはこのLuaFileWizardAction classようなアクションの例を見る
IWorkbenchWindow window =
PlatformUI.getWorkbench().getActiveWorkbenchWindow();
ISelection selection = window.getSelectionService().getSelection("org.eclipse.jdt.ui.PackageExplorer");
。
最初の手順は、選択サービスを取得することです。このような任意のビューまたはエディタから:あなたはビューまたはエディタ内でもない場合
ISelectionService service = getSite().getWorkbenchWindow()
.getSelectionService();
あるいは、as VonC wroteは、あなたは、PlatformUIを経由して、それを得ることができます。
IFile file = (IFile) structured.getFirstElement();
今すぐフルパスを取得する:あなたが選択したのIFile得ることができ、それから、
IStructuredSelection structured = (IStructuredSelection) service
.getSelection("org.eclipse.jdt.ui.PackageExplorer");
:
その後、パッケージエクスプローラの選択を取得し、IStructuredSelectionにキャストあなたはIFileの場所を取得する必要があります:
IPath path = file.getLocation();
あなたが最後にできること(とりわけ)ファイルへの本当のフルパスを取得するために使用します。Using the Selection Service:
System.out.println(path.toPortableString());
あなたはここで選択サービスに関する詳細な情報を見つけることができます。
編集ありがとう、Aaron。私は間違ってそのコードを抽出した... – VonC
LuaFileWizardActionクラスへのあなたのリンクが壊れているようです。それはhttp://www.blackducksoftware.com/ – David
にリダイレクトされます@Davidありがとうございます。私はリンクを更新しました。 – VonC