Программирование плагина Eclipse, как получить доступ к активному выбору редактора Java? - PullRequest
0 голосов
/ 30 января 2011

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

Как я могу получить доступ к этому конкретному редактору Java и выбору из плагина? В качестве скелета я использую этот простой пример Hello World, который добавляет кнопку на панель инструментов, открывая диалоговое окно при ее нажатии.

Единственное, что у меня есть, это экземпляр IWorkbenchWindow. Используя этот API, я получу IEditorPart вызов window.getActivePage().getActiveEditor(), который, как мне кажется, совершенно бесполезен для моей цели ...

Любая помощь высоко ценится

Приветствие -Frank

Ответы [ 2 ]

0 голосов
/ 22 мая 2012

Вы можете использовать window.getSelectionService().getSelection(), что дает вам объект ISelection, представляющий активный выбор в активной части.Проверьте, какой тип ISelection это вам возвращает, и действуйте соответственно.

0 голосов
/ 31 января 2011

Вы должны быть в состоянии сделать что-то вроде этого: ((JavaEditor) window.getActivePage (). GetActiveEditor ()). GetSelectionProvider (). GetSelection ()

Однако, похоже, что вы пытаетесь вызвать IAction на основе выбора. Предположительно это регистрируется через точку расширения editorActions (или что-то подобное). Если это так, я бы взглянул на класс SelectionDispatchAction, который отправляет действия на основе текущего выделения (как следует из названия). Этот класс является внутренним API, но вы все равно можете найти его полезным.

...