Очень часто я слышу фразы различных людей на тему того, что полноценные IDE — это не нужно, что Vim, Sublime Text и Atom позволяют всё делать, и так далее, и так далее. Только недавно у меня снова возникла беседа на эту тему, и я снова вспомнил о том, что хотел показать людям некоторые трюки современных IDE, которые сильно упрощают жизнь во время работы. Я люблю эту качественную опенсорсную IDE Netbeans. У меня даже цветовая схема под неё есть своя собственная (не забудьте прочитать описание, если пожелаете её опробовать). На всех видеороликах как раз она и используется в работе, плюс тёмный интерфейс Darkula и свободный шрифт Hack. Иногда я перехожу в PhpStorm, поработать там и сравнить возможности этих двух IDE. И время от времени прихожу к понимаю, что каждая из них по-своему хороша. PhpStorm имеет множество интересных интеллектуальных возможностей для быстрой разработки ООП кода. А на стороне Netbeans — бесплатность, а также мощный и не сильно перегруженный интерфейс. Это особенно чувствуется после возвращения на него с PhpStorm. В этой статье я хотел бы показать некоторые прикольные трюки, которые присутствуют в Netbeans и прочих современных IDE, а некоторые из них — только в Netbeans. Очень часто они помогают мне сэкономить массу времени при работе над большими проектами. Прошу также не возмущаться тех людей, которые используют современные IDE и знают большинство этих трюков. Это не для вас! Дело в том, что есть множество других людей, которые их не знают, и я бы хотел показать им эти возможности на реальном примере. Одна из самых моих любимых фич Нетбинса. В PhpStorm тоже существует, но сделано немного менее удобно. Наведите курсор на переменную, подождите когда она подсветится. Далее нажимайте alt+up/down, чтобы переходить к местам использования этой переменной в файле. Точно также можно подсветить какой-то метод или название класса и переходить по их использованиям в файле. Точно также можно переходить по сущностям на других языках программирования, например, в JavaScript. Допустим, у вас возникла нужда: быстро понять, какие конкретно изменения в данный момент присутствуют в текущем проекте, а также проанализировать и скорректировать их. В обычной ситуации можно написать git status и увидеть список файлов, которые изменены. В случае с Netbeans, всё ещё проще: У вас есть большой файл с кучей кода, который выглядит ужасно? Нет проблем, просто нажмите Alt+Shift+F, и Netbeans сделает его конфеткой :) Вы можете очень гибко настраивать то, как Netbeans будет форматировать ваш код. При необходимости, для отдельного проекта можно сохранить свои собственные настройки форматирования, хранить их в репозитории проекта и использовать их всей своей командой. А если вы нажмёте Alt+Shift+F будучи на какой-то папке вашего проекта в дереве файлов, то Netbeans услужливо предложит рекурсивно отформатировать весь код в данной папке. По этой части PhpStorm явно выигрывает у Netbeans в силу намного большего количества различных интеллектуальных проверок и предложений по авто-исправлению кода. Кто-то рефакторил код и оставил после себя несколько бессмысленных переменных? Нет проблем, Netbeans покажет вам их и предложит удалить или исправить некорректное поведение. С приходом стандартов PSR в мир PHP, исходные коды проектов преобразились и стали активно использовать неймспейсы. Теперь у каждого PHP-класса присутствует целый ворох use-директив, указывающих, какие конкретно зависимости использует данный класс. Чтобы проще работать со всем этим делом, в Netbeans существует функция автокоррекции этих директив. Просто нажмите комбинацию Ctrl+Shift+I. PhpStorm делает всё примерно также, но чуточку изящнее и умнее. Когда у нас открыт десяток вкладок, бывает, что очень хочется быстренько переместить одну из них между ними. Да, обычно это приходится делать мышкой, но ведь намного удобнее, когда такая возможность есть прямо в клавиатурной комбинации! Эту комбинацию надо установить вручную через настройки. Я повесил себе это на Alt+Shift+PgUp/PgDn В PhpStorm это до сих пор не реализовали. Вы неудачно назвали класс, и его хорошо бы переименовать? Или то же самое случилось с одной из ваших переменных? Нет ничего проще, если у вас под рукой Netbeans или другая подобная IDE. Для редактирования переменной или класса, наведите курсор на нужный объект и нажмите комбинацию Ctrl+R. Иногда мы создаём какой-то новый класс, и в соответствии с подходом АТД (абстрактных типов данных), будет правильно, если мы установим для всех нужных переменных класса геттеры и сеттеры. Снова к нам на помощь приходят умные IDE, которые вполне могут сделать всё это за вас. Создайте новый класс и определите все его переменные, после чего нажмите комбинацию Alt+Insert. Бывает, что мы пишем класс, который зависит от другого класса, и у нас возникает нужда в переопределении одного из методов родительского класса. Здесь нам снова помогает комбинация Alt+Insert. Все мы знаем, что очень часто в проекте необходимо найти какую-то однотипную конструкцию, и что-то с нею сделать. В этом случае в работе очень помогает наличие горячих клавиш для навигации по результатам поиска: Ctrl+[точка/запятая]. Netbeans будет автоматически открывать нужные файлы и переключать курсор на нужную строку. Это очень сильно облегчает работу при большом рефакторинге. Очень интересная функция, которая есть в Netbeans, но про которую я вспоминаю довольно редко :) Нажатие alt+shift+[точка/запятая] выделяет большую/меньшую область относительно изначального положения курсора. Это тоже надо видеть на реальном примере, чтобы лучше понять: На этом пока что всё, и надеюсь, что эта статья поможет вам и облегчит вам вашу работу :) Ну и конечно же, всегда будет интересно почитать в комментариях о других IDE и других излюбленных трюках, которые используют другие программисты в своей повседневной работе. Дерзайте :) Программист, ну и немного того, немного сего.