2009-06-25 4 views
1

Я пытаюсь получить полный путь к выбранному узлу в проводнике пакетов, который представляет собой папку или пакет, а не файл в моем подключаемом модуле Eclipse Ganymede. Я пробовал способ, который упоминается на странице How to get the selected node in the package explorer from an Eclipse plugin, но всякий раз, когда я использую следующую строку в своем коде,Как получить полный путь к выбранному узлу в проводнике пакетов из плагина Eclipse?

IFile file = (IFile) structured.getFirstElement(); (Этот) IPath path = file.getLocation();

плагин не работает и не отвечает и не дает никаких предупреждений об исключении. Когда я изменил объявление IFile на объявление Object, это нормально. Но мне нужно получить файл или папку, чтобы получить полный путь для моих операций.

Любая помощь будет оценена ...

+0

Что вы подразумеваете под «Когда я изменил объявление IFile на объявление объекта, это прекрасно»? это означает, что это не нормально с литой. –

ответ

0

Я выяснил эту проблему. Я использовал IJavaElement вместо использования IFile. Я получаю IJavaElement с использованием IPackageFragmentRoot a = (IPackageFragmentRoot) b.getParent(); IJavaElement [] c = a.getChildren();

. Перед этим я добавил импортированные пакеты org.eclipse.jdt.core.dom в зависимости от плагина. Теперь я могу взять полный путь каждого IJavaElement, будь то файл или папка.

0

Может быть, вы должны отлаживать код и проверить, что фактический тип первого элемента при выборе в.

Вы также должны запустить второй экземпляр eclipse при тестировании с помощью опции -consolelog, чтобы иметь журнал ошибок, перенаправленный на консоль. (для получения информации об журнале ошибок, если вы используете приложение из затмения SDK с использованием конфигурации запуска Eclipse, вам нужно проверить журнал ошибок второго экземпляра, чтобы увидеть ошибки, а не один из первого экземпляра eclipse ... I я привык видеть, что люди путают это)

Смежные вопросы