Учебник по разработке специального редактора Eclipse - PullRequest
17 голосов
/ 24 апреля 2009

Я хочу узнать о разработке редактора для Eclipse для конкретного языка программирования. Есть ли учебник, чтобы помочь мне с этим? Было бы полезно, если бы он охватывал такие темы, как подсветка синтаксиса и автозаполнение.

Ответы [ 4 ]

12 голосов
/ 26 апреля 2009

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

Лучшее, что я могу предложить вместо практических рекомендаций, - это найти язык, который уже интегрирован, и посмотреть, как они это делают. Вот реальный совет - не выбирайте тот, у которого имя пакета начинается с org.eclipse (как у муравья). Eclipse предоставляет так много поддержки, что гораздо проще увидеть, какой код вам нужно написать, если он начинается с другого префикса пакета. Попробуйте, например, посмотреть groovy или scala .

По моему опыту, именно подсвечивание ошибок сделать труднее всего; следующее самое сложное - это помощь с контентом.

Если вы управляете компилятором или средой исполнения языка, на котором пишете редактор, жизнь станет намного проще, если вы сможете заставить компилятор предоставить вам все данные, которые понадобятся вашей IDE для его представления. пользователь (например, список токенов - для подсветки синтаксиса, всплывающих подсказок; помощник по содержимому будет намного лучше, потому что вы не симулируете компилятор, а используете реальный; то же самое с подсветкой ошибок)

В среде IDE относительно легко работать только с отображением ошибок, раскраски и т. Д.

Как только у вас есть его только для отображения, пример XML-редактора выглядит весьма полезным.

Большая часть правил разбиения, которые я нашел менее полезными; Я всегда заканчивал тем, что строил свой собственный - бинарный поиск по списку токенов чрезвычайно полезен.

11 голосов
/ 26 апреля 2009

Лучшее, что я видел для стандартного текстового редактора Eclipse, -

http://www.ibm.com/developerworks/edu/os-dw-os-ecl-commplgin1.html

(вам нужно зарегистрировать бесплатную учетную запись IBM). Прашант Дева, автор действительно хорошего плагина ANTLR2, сделал это.

Возможно, вы также захотите взглянуть на инструменты, которые сгенерируют редактор:

Проект моделирования затмения (EMF / TMF / GMF)

http://www.eclipse.org/modeling/

TMF помогает создавать текстовые редакторы; GMF помогает создавать графические редакторы. Доступна довольно хорошая книга (также о книгах по сафари)

Учебное пособие по адресу: http://wiki.eclipse.org/index.php/GMF_Tutorial

Хорошее введение в GMF: http://www.ibm.com/developerworks/opensource/library/os-ecl-gmf/

Набор инструментов для динамических языков

http://www.eclipse.org/dltk/

Учебники доступны с этого сайта. Обратите внимание, что вы можете использовать DLTK для статического редактирования языка; «динамическая» часть происходит из конфигурации и запуска интерпретатора.

Xtext (теперь часть TMF)

http://wiki.eclipse.org/Xtext

Примечание: хороший помощник по содержанию может быть довольно сложным; это действительно включает в себя последующий анализ для каждого терминала в вашей грамматике. Вы можете немного упростить его, просто отслеживая определенные символы и ключевые слова и предлагая все, что соответствует существующему префиксу. Приведенные выше генераторы делают это немного проще, но не идеальны.

Удачи!

6 голосов
/ 25 апреля 2009

Возможно, вы ищете что-то вроде этой статьи о создании редакторов Eclipse с текстом JFace . Этого достаточно, чтобы начать работу, и он проходит через подсветку синтаксиса, помощь по содержимому, структуру содержимого и маркеры ошибок.

1 голос
/ 28 декабря 2014

Все эти ответы хороши, и я посмотрел и использовал учебные пособия, связанные над собой.

Я бы добавил этот из Карлова университета в Праге. Он был недавно обновлен, в то время как упомянутые выше были 5-10 лет назад.

На самом деле я не уверен, что все так сильно изменилось, но, поскольку это было полезно для меня, я добавляю это сюда.

...