Прослушиватель открытого файла в Eclipse - PullRequest
2 голосов
/ 09 января 2012

В настоящее время я работаю над плагином Eclipse, в котором мне нужно выполнить действие, когда человек открывает файл с определенными свойствами. Однако я не уверен, как настроить прослушиватель, я искал API IWorkspace и IResource, но не могу найти простой вызов API, говорящий «AddListenerToOnOpenFile».

Ожидается, что файл откроется в представлении проводника пакетов.

Ответы [ 2 ]

3 голосов
/ 09 января 2012

Используйте ответ, предоставленный @ MarttiKäärik, чтобы узнать, когда редакторы открыты. Затем вы можете использовать IEditorInput, чтобы узнать, является ли это источником IResource, о котором вы заботитесь.

if (part instanceof IEditorPart) {
    IEditorPart editor = (IEditorPart) part;
    IResource resource = editor.getEditorInput().getAdapter(IResource.class);
    // ...
}
2 голосов
/ 26 сентября 2012

Вопрос уже ответил , так что только для того, чтобы сделать его немного более полным ...

Вам не обязательно реализовывать представление или действие (как описано в вопрос, связанный с Марти Käärik в комментарии), чтобы получить окно для вашего слушателя.Позвонить на PlatformUI.getWorkbench().get...() можно использовать также.См. Старый, вероятно, дублированный вопрос, который называется просто Eclipse Plugin .

BTW Страница часто задаваемых вопросов Eclipse Wiki содержит хорошее описание способов получения текущего окна рабочей среды.и возможные "ошибки".

Более того, вы даже можете прослушивать вновь открытые окна, если есть необходимость:

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