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

Давайте рассмотрим пример: вы обрабатываете свои быстрые ответы в массиве.

  state = {
    quickReplies: ['Reply 1', 'Reply 2', 'Reply 3', 'Reply 4'],
  };

Вы можете отобразить их как:

{this.state.quickReplies.map(reply => 
  <TouchableHighlight style={styles.quickReply} onPress={()=>this.onPress(reply)}>
    <Text>{reply}</Text>
  </TouchableHighlight>
)}

, где функция onPress может быть:

  onPress = (reply) => {
    console.log(reply);
  }

Также обратите внимание, что <Text> из реагируют native также принимает опору onPress. Вы можете легко использовать его, не оборачивая каждый элемент в <TouchableHighlight>

17
задан Adam Paynter 24 April 2009 в 17:40
поделиться

3 ответа

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

но вместо этого используйте реальный; то же самое с подсветкой ошибок).

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

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

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

но вместо этого используйте реальный; то же самое с подсветкой ошибок).

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

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

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

12
ответ дан 30 November 2019 в 12:36
поделиться
[1145110 Возможно, вы ищете что-то вроде этой статьи о сборке редакторов Eclipse с текстом JFace . Этого достаточно, чтобы начать работу, и он проходит через подсветку синтаксиса, помощь по контенту, структуру контента и маркеры ошибок.

6
ответ дан 30 November 2019 в 12:36
поделиться

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

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

( вам нужно зарегистрировать бесплатную учетную запись IBM). Прашант Дева, автор действительно хорошего плагина 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/

Dynamic Languages ​​Tool Kit

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

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

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

http://wiki.eclipse.org/Xtext

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

11
ответ дан 30 November 2019 в 12:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: