Вы можете сделать это путем доступа к IEditorPart
, использовать getAdapter(IDocument.class)
, а затем добавить слушателя к этому ...
Но это действительно хак ...; -)
РЕДАКТИРОВАТЬ : По запросу, здесь немного больше кода.
public void hookToEditor() {
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
if (page == null) return;
IEditorPart editor = page.getActiveEditor();
if (editor == null) return;
IDocument doc = (IDocument) editor.getAdapter(IDocument.class);
if (doc == null) return;
doc.addDocumentListener(new IDocumentListener() {
@Override
public void documentChanged(DocumentEvent event) {
// Do something
}
@Override
public void documentAboutToBeChanged(DocumentEvent event) {
// About to do something
}
});
}
Обратите внимание, что
- Есть много способов получить страницу - например,через текущий сайт
- есть так же много способов получить часть редактора - например, через обработчик
- у многих редакторов нет встроенного документа - например, редакторы PDE