Eclipse RCP: Пользовательская консоль

Я пытаюсь создать консоль, которая работала бы как оболочка для пользовательского языка программирования. Это было бы очень похоже на интерактивную консоль pydev.

В настоящее время мой RCP использует базовую TextConsole и подключен к оболочке через каналы, поэтому он просто отображает то, что отображает оболочка, и если пользователь вводит что-либо в консоль RCP, то же самое записывается в оболочке.

Я хочу иметь возможность сделать немного больше, например, переместить позицию курсора, добавить события для клавиш со стрелками вверх и вниз и т. д. Я считаю, что для этого мне нужно добавить виджет StyledText в консоль, что делается через Консольный просмотрщик.

Итак, мой вопрос заключается в том, есть ли способ либо переопределить ConsoleViewer TextConsole, либо, если я должен расширить TextConsole и создать свой собственный, то как мне связать его с конфигурацией запуска (той, которая соединяет оболочку по трубам)?

Кроме того, чтобы получить текущую консоль по умолчанию, я использую DebugUITools.getConsole(process).

Извините, если я не указал всю необходимую информацию; это немного сложно объяснить. Я рад добавить больше информации.

Идея... Насколько я понимаю, я могу создать TextConsolePageиз TextConsole, используя createPage(ConsoleView). Когда у меня есть страница, я могу установить средство просмотра с помощью setViewer(viewer).Здесь я подумал, что если я создам свой собственный просмотрщик (который будет иметь соответствующий виджет стиля), то это может быть лидом. Единственная проблема в том, что зрителю нужен Composite, и я не могу понять, откуда его взять.

5
задан nbz 10 May 2012 в 15:35
поделиться