settitle - nodos en java
Cómo obtener el nodo seleccionado en el explorador de paquetes desde un complemento de Eclipse (2)
El código sería como:
IWorkbenchWindow window =
PlatformUI.getWorkbench().getActiveWorkbenchWindow();
ISelection selection = window.getSelectionService().getSelection("org.eclipse.jdt.ui.PackageExplorer");
Ve un ejemplo en una acción como esta clase LuaFileWizardAction .
Estoy escribiendo un complemento de comando de Eclipse y quiero recuperar el nodo seleccionado actualmente en la vista del explorador de paquetes. Quiero poder obtener la ruta de archivo absoluta, donde el nodo seleccionado reside en el sistema de archivos (es decir, c: / eclipse / test.html), a partir del resultado devuelto.
Cómo hago esto ?
El primer paso es obtener un servicio de selección, por ejemplo, desde cualquier vista o editor como este:
ISelectionService service = getSite().getWorkbenchWindow()
.getSelectionService();
O, como escribió VonC , puede obtenerlo a través de PlatformUI, si no está en una vista o en un editor.
Luego, obtenga la selección para el Explorador de paquetes y cámbielo a una IStructuredSelection:
IStructuredSelection structured = (IStructuredSelection) service
.getSelection("org.eclipse.jdt.ui.PackageExplorer");
A partir de eso, puede obtener su IFile seleccionado:
IFile file = (IFile) structured.getFirstElement();
Ahora para obtener la ruta completa, tendrá que obtener la ubicación del archivo IFile:
IPath path = file.getLocation();
Que finalmente puede usar para obtener la ruta completa real a su archivo (entre otras cosas):
System.out.println(path.toPortableString());
Puede encontrar más información sobre el servicio de selección aquí: Uso del servicio de selección .