Как получить путь к файлу открытого рабочего пространства для разработки плагинов в eclipse - PullRequest
3 голосов
/ 19 октября 2010

Это вопрос конкретно о разработке плагинов для платформы Eclipse:

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

Один из способов сделать это - использовать путь к файлу рабочей области для генерации / поиска имени хранилища данных, относящегося к этой конкретной рабочей области.

Я пробовал org.eclipse.core.resources.ResourcesPlugin.getWorkspace (), но, похоже, нет способа получить эту строку.

Чтобы избежать путаницы, я знаю о -data и -showlocation - я хочу получить доступ к тексту showlocation во время выполнения в плагине eclipse.

Я использую Eclipse 3.5.2 для моего текущего проекта.

Заранее спасибо!

Ответы [ 3 ]

5 голосов
/ 19 октября 2010

Это из списка новостей, которому уже несколько лет , но вы можете попробовать:

Platform.getLocation();
2 голосов
/ 13 октября 2015

Для Eclipse 3.X используйте ResourcesPlugin.getWorkspace().getRoot().getLocation(); после импорта плагина org.eclipse.core.resources.

2 голосов
/ 26 ноября 2013
Platform.getLocation();

- это НЕ путь к рабочему пространству (пробовал с помощью eclipse 4.3 Kepler), как

@Inject @Named(E4Workbench.INSTANCE_LOCATION) private Location instanceLocation;

, он будет указывать местоположение папки конфигурации, но не местоположение рабочего пространства.Одна вещь, которую я обнаружил, сработала:

URL fileURL = FileLocator.find(Platform.getProduct().getDefiningBundle(),new Path(String_file2Locate), null);

(это работает только для продуктов, а не для плагинов, и "String_file2Locate" - это путь к файлу, который вы хотите использовать из корня / папки вашего рабочего пространства)

Или также как это .(но вам понадобится жало с названием вашего плагина)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...