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 ++> «Редактор»> «Шаблоны». Пример шаблона, который я использовал выше, выглядит следующим образом:
Если мне не нравится шаблон, я могу создать новый или отредактировать существующий:
Переменные имеют вид:
${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, на мой взгляд.
Счастливые шаблоны