Я разрабатываю плагин Eclipse, где после нажатия кнопки, плагин берет выделенный текст в редакторе Java и вставляет текстовое поле, которое появляется.
Мой код похож на это: Я получил его отсюда: http://dev.eclipse.org/newslists/news.eclipse.newcomer/msg02200.html
private ITextSelection getSelection(ITextEditor editor) {
ISelection selection = editor.getSelectionProvider()
.getSelection();
return (ITextSelection) selection;
}
private String getSelectedText(ITextEditor editor) {
return getSelection(editor).getText();
}
Проблема состоит в том, как я доберусь ITextEditor
из отображаемого редактора Java. По совпадению это - следующий вопрос в потоке в ссылке, которую я отправил, но это является оставшимся без ответа :(
Вы можете запросить ActiveEditor
, как в этой ветке :
IEditorPart part;
part =
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().get
ActiveEditor();
if(part instanceof ITextEditor){
ITextEditor editor = (ITextEditor)part;
IDocumentProvider provider = editor.getDocumentProvider();
IDocument document = provider.getDocument(editor.getEditorInput());
OP Krt_Malta упоминает эту запись в блоге «Программно запрашивать текущий выделенный текст» , которая аналогична этому другому ответу SO (написанному перед записью в блоге) «Заменить выбранный код из редактора eclipse через команда плагина ".