Статьи

Шаблоны редактора в Eclipse

Eclipse — хорошая IDE. На первый взгляд, это делает работу. Достаточно хорошо. По крайней мере, для себя, я не был так взволнован, когда я использовал его в первый раз. Я пришел из мира Microsoft Visual Studio и использовал много других проприетарных IDE. Так что «Затмение» было просто «еще одним». Но то, что делает Eclipse действительно великолепным, — это невероятное богатство функциональности, которое не сразу видно. Да, то же самое относится и к любому другому программному инструменту: для его изучения требуется время, и, как только вы все хорошо знаете, вы не хотите переключаться или даже думать о чем-то другом. Мне то же.

Другое дело: через какое-то время я привыкаю к ​​вещам и больше не ценю это. Только до тех пор, пока кто-то не напомнит мне, что, возможно, вещи не так хорошо известны? Это то, что случилось со мной два дня назад: я занимался редактированием в Eclipse, пока коллега наблюдал, как я это делаю. Затем он сказал что-то вроде этого

«Эй, что ты сделал? Что было , что ?!? Как ты это сделал?»

Я не помню его точных слов, так как меня это тоже удивило. Я не делал ничего особенного? Какая-то стандартная вещь Затмения. Ну, может и нет.

:!:Предупреждение: использование этой функции Eclipse может вызвать сильную зависимость :-).

Для цикла

То, что я сделал, было примерно так: я начал писать такую ​​функцию:

написание функции

написание функции

Затем я добавил «для»:

добавив для

добавив для

А теперь магия: я нажал Ctrl + Space, чтобы открыть Ассистент контента:

Контент Ассист

Контент Ассист

: Идея: Нажатие Ctrl + Пробел сокращает список элементов только до шаблонных предложений.

Я выбрал пункт « for — for loop » и нажал ввод. Это добавляет код для цикла:

Добавлено для цикла

Добавлено для цикла

Обратите внимание на синие коробки. Мой курсор остается на «var», и я могу просто ввести свою переменную, которую я хочу использовать, и он автоматически изменяет все экземпляры переменной цикла (!!!):

измененная переменная цикла

измененная переменная цикла

Затем я нажимаю клавишу Tab, которая перемещает меня к переменной ‘max’:

на макс переменной

на макс переменной

Я набираю свою переменную max loop и снова нажимаю Tab: это переместит меня в тело цикла:

введена максимальная переменная

введена максимальная переменная

Теперь я вхожу в свое тело цикла:

Введено тело цикла

Введено тело цикла

Итак, здесь снова:

for — Ctrl + Пробел — Enter — i — Tab — bufSize — Tab — buf [i] = 0;

это все, что мне было нужно :-). Классная функция редактора Eclipse: Редактор шаблонов.

Шаблон по выбору

На выбор можно применить шаблон. Например, я могу выбрать одну или несколько строк исходного текста:

Выбранный текст

Выбранный текст

Затем я нажимаю Ctrl + Space и выбираю шаблон цикла for. Это оборачивает цикл for ():

Для цикла вокруг выбора

Для цикла вокруг выбора

Позиции шаблона

Давайте посмотрим на этап, когда я нажал Ctrl + Space и выбрал этот шаблон:

Позиции шаблона

Позиции шаблона

Синие прямоугольники указывают позиции, в которые я перейду, если я нажму клавишу Tab . Зеленая линия в теле for () указывает место, куда я перейду, если нажать Enter .

Настройки шаблона

Шаблоны редактора Eclipse настраиваются с помощью меню «Окно»> «Установки»> C / C ++> «Редактор»> «Шаблоны». Пример шаблона, который я использовал выше, выглядит следующим образом:

Шаблон редактора For-Loop

Шаблон редактора For-Loop

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

Редактирование шаблона

Редактирование шаблона

Переменные имеют вид:

${variableName}

Нажатие кнопки «Вставить переменную…» предлагает набор встроенных переменных:

Встроенные переменные

Встроенные переменные

: Идея: Используйте Ctrl + Пробел при редактировании шаблона, чтобы получить список встроенных переменных.

Все, что не является встроенной переменной, является пользовательской переменной (например, $ {var}). Использование имени переменной несколько раз ссылается на одно и то же содержимое переменной.

: Идея:Также можно использовать «пустую» переменную с $ {} . Таким образом, у меня могут быть вещи, которые ничем не заменены, если я хочу иметь это таким образом

Шаблоны пользовательских редакторов

Добавить новые шаблоны очень просто. Например, у меня есть шаблон ‘taskcreate’ для создания исходного кода для создания задачи FreeRTOS:

if (FRTOS1_xTaskCreate(${name}, (signed portCHAR *)"${name}", configMINIMAL_STACK_SIZE+${size}, NULL, tskIDLE_PRIORITY+${prio}, NULL) != pdPASS) {
  for(;;){} /* error! Out of heap? */
}
${cursor}

Или другой шаблон для реализации платформы для функции задачи:

static portTASK_FUNCTION(${taskname}, pvParameters) {
  (void)pvParameters; /* not used */

  for(;;) {
  ${cursor}
  FRTOS1_vTaskDelay(${delayMs}/portTICK_RATE_MS);
  }
}

Таким образом я очень быстро добавляю новые задачи. Я просто набираю слово «задача», а затем Ctrl + Пробел:

Шаблоны задач

Шаблоны задач

И в течение нескольких секунд я создал основу для новой задачи:

Созданная задача

Созданная задача

Шаблоны комментариев

Еще один способ использовать шаблоны для комментариев. Например, я могу определить комментарий следующим образом:

Шаблон комментария

Шаблон комментария

Тогда я набираю

/**fct

и нажмите Ctrl + Tab, и он заменит его на мой шаблон :-).

: Идея: Eclox для Doxygen поставляется с другими встроенными шаблонами комментариев.

Экспорт / Импорт

Чтобы поделиться шаблонами, я использую кнопки «Импорт» и «Экспорт»:

Импорт и экспорт шаблонов редактора

Импорт и экспорт шаблонов редактора

Резюме

Шаблоны редактора — это мощный способ расширить редактор Eclipse и повысить производительность. Это одна из величайших возможностей Eclipse, на мой взгляд.

Счастливые шаблоны :-)