Подтвердить что ты не робот

Учебное пособие по разработке настраиваемого редактора Eclipse

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

4b9b3361

Ответ 1

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

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

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

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

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

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

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

Ответ 2

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

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

(вам нужно зарегистрироваться для бесплатной учетной записи IBM). Prashant Deva, автор действительно приятного плагина ANTLR2, сделал это.

Вы также можете посмотреть инструменты, которые будут генерировать редактор:

Проект моделирования Eclipse (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

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

Удачи!

Ответ 3

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

Ответ 4

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

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

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