2016-06-22 2 views
1

Я хочу получить исходное местоположение папки проекта, когда пользователь нажимает на меню в текстовом редакторе (так как мне нужно извлечь путь пакета и имя файла выбранного файла).Как получить расположение исходной папки в разработке плагина eclipse

Если имя проекта - «UserProject», а исходная папка - src, как я могу получить исходное местоположение относительно проекта как «UserProject \ src».

Я попытался это сделать,

IPath fullPath = file.getFullPath(); 
String filePath = fullPath.toString(); 

Но она содержит полный путь к исходному файлу как "UserProject \ SRC \ се \ Util \ MyClass.java"

+0

Можете ли вы разделить «filePath» с помощью «src» в качестве разделителя, а затем использовать результат для генерации пути к исходному местоположению? –

+0

@IshitaSinha src не одинаково для всех проектов, так как я нацелен на то, чтобы вести себя как плагин для любого проекта. Это может быть либо имя пользователя, предпочтительное (src, sourceCode и т. Д.) – abo

+0

Очень похоже на https://stackoverflow.com/questions/37776230/is-it-possible-to-load-an-eclipse-java-project-using- jdt-in-the-headless-mode/37777685 # 37777685. Используйте API-интерфейсы JDT Core. – nitind

ответ

0

Вы можете использовать вызов Eclipse, JDT JavaCore.create(file) получить в IJavaElement для файла.

IJavaElement является базовым интерфейсом для многих классов JDT. Вам нужно посмотреть, какой именно тип IJavaElement, я думаю, что это будет ICompilationUnit, и в этом случае вы можете использовать метод getPackageDeclarations.

0

Это возвращает проект папка.

System.getProperty("user.dir"); 

Если вы хотите исходную папку, вы можете просто сделать так:

String str = System.getProperty("user.dir") + System.getProperty("file.separator") + "src"; 
+0

System.getProperty ("user.dir"); дает место рабочего пространства eclipse вместо проекта. – abo

+1

Это не полезно в плагинах Eclipse –

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