2013-11-06 5 views
1

Мне интересно, как я могу открыть редактор программно. Сначала я создал присвоенный файл, а затем я хочу открыть редактор для этого типа файла. Но тогда я не могу открыть редактор. Может быть, кто-то может помочь мне в этом.Eclipse: Как открыть редактор программно

... 
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); 
PlcEditor editor = new PlcEditor(emfResource); 
page.openEditor(editor, "test"); 
... 

я уже имел следующее решение (которое работает), но здесь я не был в состоянии назвать constructr моего редактора:

.... 
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); 
IEditorPart openEditor = IDE.openEditor(page, plcFile); 
.... 

Приветствия, Фил

ответ

2

Сначала вы должен определить ваш редактор для Eclipse, используя точку расширения org.eclipse.ui.editors:

<extension 
    point="org.eclipse.ui.editors"> 
    <editor 
     name="Sample Multi-page Editor" 
     extensions="mpe" 
     icon="icons/sample.gif" 
     contributorClass="tested.editors.MultiPageEditorContributor" 
     class="tested.editors.MultiPageEditor" 
     id="tested.editors.MultiPageEditor"> 
    </editor> 
</extension> 

(см. Выше, как показано в прилагаемом многостраничном редакторе).

Вы можете использовать:

IDE.openEditor(page, file, "tested.editors.MultiPageEditor"); 

, чтобы открыть редактор на качестве IFile указания своего редактора идентификатора, или для extension указанного редактор будет по умолчанию, и вы можете просто использовать

IDE.openEditor(page, file); 

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

+0

Привет, это то, что я уже сделал. Я просто хотел узнать, как я могу использовать IDE.openEditor (..) и предоставить аргументы конструктору моего редактора. Используя вышеприведенный, используется конструктор без аргументов: public PlcEditor() {...} – ph09

+0

Нет, вы не можете указывать аргументы конструктору. –

+0

А как насчет создания редактора (как и в моем вопросе), а затем как-то его открыть? Это возможно? Не сомневаюсь, что нет никакого способа сделать это. – ph09

Смежные вопросы