У меня этот код в плагине eclipse. Мне нужно получить путь к любому файлу. Для экземпляров работ, связанных с IFile, но для ICompilationUnit я понятия не имею.Как получить путь к файлу java, выбранному в проводнике pacake в eclipse
final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
final IStructuredSelection selection = (IStructuredSelection) window.getSelectionService().getSelection("org.eclipse.jdt.ui.PackageExplorer");
final Object firstElement = selection.getFirstElement();
String selectedFile = "";
if (firstElement instanceof IFile)
{
IPath loc = ((IFile) firstElement).getLocation();
if (loc != null)
{
selectedFile = loc.toOSString();
if(!selectedFile.endsWith(".java")){
selectedFile = "";
}
}
} else {
if(firstElement instanceof ICompilationUnit){
CompilationUnit comUnit = (CompilationUnit)firstElement;
}
}
И когда ресурс не является экземпляром IFile, например CompilationUnit? – Clonw
На самом деле, поскольку вам просто нужен путь, вы можете просто использовать 'IResource.getLocation'. Надеемся, что менеджер адаптера сможет найти «IResource», соответствующий модулю компиляции. –
Да, менеджер адаптера должен иметь возможность конвертировать из CompilationUnit в IResource –