Многие считают, что залог эффективной работы – это хорошие инструменты. В принципе, это действительно так. Во всяком случае, разработчики таких инструментов всячески стараются нас в этом убедить . Но, на самом деле, хороший редактор или IDE это даже не половина дела. Гораздо важнее умение его использовать. Особенно сейчас, когда даже текстовые редакторы имеют сотни функций. Я ничего не имею против большого количества возможностей, но часто возникает ситуация когда за «деревьями леса не видно». И поиск нужной функции превращается в блуждание по вложенным меню и диалогам. Самое обидное – это когда пользуешься программой полгода, а потом натыкаешься на какую-нибудь полезную возможность и думаешь: «Сколько я времени мог сэкономить, если б знал о ней раньше». В этой статье я хочу рассказать о своем опыте использования Eclipse для разработки на PHP. Прежде всего, о самой IDE. Eclipse вообще задуман как многоцелевая платформа. Т. е. вы сможете работать с любым языком программирования, если установите подходящие плагины.
Естественно, плагинов очень много и сразу выбрать нужные не просто. Поэтому возник проект EasyEclipse, который занимается распространением дистрибутивов с уже подготовленным набором плагинов для разных языков программирования (в т. ч. и для PHP). Теперь переходим к самой IDE. Описывать подробно работу в Eclipse я не буду, да и вряд ли у меня это получится. Разве что, книгу начну писать . Но о некоторых возможностях, которые позволяют ускорить работу, расскажу. Шаблоны. Это основное средство увеличения скорости работы. Принцип такой – пишите фрагмент кода и присваиваете ему имя, набираете это имя в редакторе, жмете Ctrl+Space и Eclipse автоматически вставляет ваш код. Два своих набора шаблонов я уже выкладывал в этом блоге (здесь и здесь). Там же описана их установка. Не стоит забывать и о встроенный шаблонах. Сниппеты (Snippets) По-умолчанию панель с ними спрятана. Открыть ее можно здесь. Window -> Show View -> Other… -> General -> Snippets. На скриншоте показан вид стандартной панели. Принцип работы сниппетов очень похож на шаблоны. Разница в том, что для вставки сниппета вам не нужно запоминать его название. Достаточно просто сделать двойной клик по нему. Также можно группировать сниппеты в зависимости от области использования. На мой взгляд, сниппеты хорошо подходят для вставки небольших блоков кода. Чтобы создать свой сниппет, нужно сделать правый клик на их панеле и в контекстном меню выбрать пункт Customize…. «Горячие» клавиши. Посмотреть полный список можно здесь. Window -> Preferences… -> General -> Keys. Я приведу только те, которыми пользуюсь чаще всего. Alt+стрелка (вверх/вниз) – перемещает текущую строку вверх/вниз. Ctrl+Alt+ стрелка вниз – копирует текущую строку. Так сказано в документации.
У меня – переворачивает экран . Alt+Shift+Q – через секунду после нажатия появляется окошко с подсказками (функция интересная, но пользуюсь редко). Ctrl+Space – автозавершение кода. Ctrl+Z – отмена. Ctrl+D – удаляет текущую строку. Ctrl+Delete – удаляет символы начиная с позиции курсора и до конца слова. Ctrl+Backspace – удаляет символы начиная с позиции курсора и до начала слова. Ctrl+F – открывает диалог поиска/замены. Ctrl+K – искать дальше.
Ctrl+J – инкрементный поиск. Когда режим активирован в строке состояния (внизу редактора) появляется фраза Incremental Find. После этого можно вводить текст. Найденная фраза будет автоматически подсвечиваться.
Повторное нажатие Ctrl+J (при выделенном тексте) работает как «искать дальше». Alt+Shift+G – быстрый поиск по функциям, константам и классам PHP. Ctrl+Shift+X, Y – преобразует строчные буквы в прописные и наоборот Alt+/ – завершение слов. В отличие от Ctrl+Space нечувствительно к контексту. В заключение хочу дать небольшой совет. Не пытайтесь создавать шаблоны на все случаи жизни или специально запоминать все комбинации клавиш. Ориентируйтесь на то, как часто вы их используете.
Если заметили, что несколько раз пишите один и тот же код – делайте шаблон или сниппет. Постоянно заходите в одно и тоже меню – запоминайте сочетание клавиш. В общем, Eclipse предоставляет очень много полезных инструментов. И далеко не все описаны в этой заметке. Мне будет очень интересно почитать о том, какими инструментами вы пользуетесь и почему. Комментарии открыты!