Статья NetBeans IDE – универсальный инструмент разработчика [Часть 1]

P

Pirnazar

Green Team
18.07.2018
163
232
Developers, Developers, Developers, Developers, Developers, Developers,
Developers, Developers, Developers, Developers, Developers, Developers …

NetBeans IDE 7.2 – свободная интегрированная среда разработки приложений (IDE) на языках программирования Java, JavaFX, Python, PHP, JavaScript, C++, Ада и ряда других. У программы открыт код, и она является полностью бесплатной.
В статье я расскажу о возможностях NetBeans для PHP-разработчиков.

1575788002139.png


Скачать последнюю версию можно по ссылке. Перед загрузкой можно выбрать язык, платформу (ОС) и состав. Можно скачать как самую полную версию, так и только необходимые модули. Например, меня интересует только PHP-версия (она включает, кроме PHP, поддержку HTML, CSS, JavaScript, jQuery, XML, SQL, JSON, файл конфигурации Apache, YAML, XHTML и другие).
На время написания статьи, последняя версия 7.2. Для PHP-разработчиков в ней добавили, например, поддержку PHP 5.4, Symfony2, Doctrine2 и ApiGen фреймворков, улалённую синхронизацию FTP, редактирование конфигурационных файлов Apache и пр.

Программа является полностью бесплатной и, на мой взгляд, является лучшей в своей сфере, даже если сравнивать с платными аналогами. NetBeans IDE является полностью кросс-платформенной. Для работы NetBeans требуется Java, если у вас по какой-либо причине не установлена Java, то скачать её можно .

Итак, начнём обзор основных возможностей.

Содержание:
  • Компоновка окон среды NetBeans IDE для PHP программирования
  • Подсветка синтаксиса
  • Переход к объявлению
  • Окно навигатора
  • Компактное отображение кода
  • Умные отступы
  • Форматирование
  • Расстановка скобок
  • Переименование с реорганизацией и немедленное переименование
  • Завершение кода
    • Фрагменты (снипиты)
    • Предложения исходя из контекста
    • Аббревиатуры
    • Завершение кода в конструкторах
    • Завершение кода запросов SQL
    • PHP 5.3 Пространство имён (Namespaces)
    • Переопределённые и реализованные методы
    • Контекстное завершение конструкций Try/Catch
    • Аннотации
    • PHP 5.4 Traits
  • Поддержка PHP 5.4
  • Прямоугольное выделение
  • Поддержка документатора РНР
  • Генераторы кода
    • Конструкторы
    • Методы получения и установки
    • Переопределенные и реализованные методы
  • Подсказки по вводу параметров
  • Определение типа переменной в комментариях
  • Сообщения об ошибках
  • Тестирование с помощью PHPUnit и Selenium
  • Проверка орфографии
  • Поддержка платформ Symphony и Zend
  • Поддержка Smarty
  • Поддержка Doctrine2
Компоновка окон среды NetBeans IDE для PHP программирования
Редактор содержит следующие окна:
  • Основное окно редактирования, которое показывает содержимое файла. Редактор имеет вкладки для каждого открытого файла.
  • Окно “Проекты”, показывающее список текущих открытых проектов.
  • Окно “Файлы”, показывающее файлы каждого проекта.
  • Окно “Службы”, показывающее список доступных внешних служб, таких, как базы данных.
Также можно открыть окно “Навигатор” в левой части панели нажав Ctrl + 7. “Навигатор” показывает структуру PHP класса, если класс открыт в редакторе. Для файлов не содержащих классы, в этой панели ничего не показывается.

Чтобы открыть справку по любому из этих окон, выберете любой элемент в соответствующем окне и нажмите F1.

Подсветка синтаксиса
Редактор поддерживает синтаксис для PHP, HTML, JavaScript, и CSS.

Следующие элементы синтаксиса подсвечиваются в текущей версии:
  • PHP ключевые слова и переменные
1575788034777.png

  • PHP константы и «магические константы»
1575788049484.png

  • HTML тэги, включая атрибуты форм input
1575788063116.png

  • Конфигурационные файлы Apache web server .htaccess или httpd.conf файлы
1575788111335.png

  • PHP цифры
  • HTML тэги внутри блоков комментариев PHPDoc
1575788126772.png

  • Текущая строка отображается светло-голубым фоном
1575788140565.png

  • Помещая каретку внутрь PHP величины, функции или класса, все совпадения величины подсвечиваются
1575788161493.png

  • Строки, в которых были обнаружены ошибки подчёркиваются красным.
1575788182042.png


Для изменения настроек подсветки выберите Сервис > Параметры и выберите вкладку Шрифты и цвета

Переход к объявлению
Функция перехода к объявлению переводит пользователя от величины или функции к строке, где эта величина или функция была объявлена или инициализирована. Чтобы воспользоваться этой функцией, поместите курсор на соответствующую величину или функцию и выберете Переход > Перейти к объявлению из контекстного меню или нажмите Ctrl-B или используйте Ctrl-click.

Окно навигатора
Окно навигатора отображает структуры кода как элементы списка, который показывает PHP структуру текущего активного файла. Если файл содержит любой другой текстовый код (например, HTML), список отображает его структуру тоже. Двойным кликом на функции или на величине в списке, курсор переводится на объявление кликнутого элемента.

Внимание: Окно навигатора показывает только PHP код для классов. Оно не может показывать PHP код вне класса.

Окно навигатора по умолчанию не содержит какие-либо элементы списка, но комплексные выражения могут иметь свою структуру. Например, объявление PHP класса может быть представлена как дерево объявленных членов класса.
Лист динамически обновляется в то время, когда пользователь печатает код.

Окно навигатора показывается в нижней левой панели.
  1. Чтобы открыть окно навигатора нажмите Ctrl + 7 или в меню Окно > Навигация > Навигатор. Появится дерево отображающее иерархию HTML и PHP структур.
  2. Для перемещения к желаемому элементу, дважды кликните на соответствующий пункт в списке.
1575788632400.png



Компактное отображение кода
Редактор позволяет пользователю избирательно прятать и отображать модули, классы или функции текущего редактируемого файла с PHP кодом. Для складывания или отображения участка кода, кликните на иконку – или + слева от кода или нажмите Ctrl+ или Ctrl-.

1575788644948.png


Умные отступы
Редактор автоматически форматирует отступы кода в процессе печатания.

Форматирование
Для форматирования участка кода, чтобы сделать его более понятным, выполните следующие шаги:
  1. Выберите необходимый абзац кода.
  2. Правым кликом мыши выберите контекстное меню, выберите Форматировать или нажмите Alt + Shift + F
Расстановка скобок
Редактор автоматически добавляет и удаляет соответствующие скобки и кавычки, когда пользователь печатает код.
  • Пара одинарных ” и двойных кавычек “”, круглых скобок () и квадратных скобок [] добавляются когда пользователь напечатал первый символ.
  • В конце строки точка с запятой добавляются в придачу к закрывающейся одинарной или двойной кавычке.
  • Фигурная скобка добавляется после того, как пользователь нажал Enter, что также активирует функцию Умного отступа.
  • Удаление открывающей одинарной или двойной кавычке, круглой или квадратной скобки приводит к автоматическому удалению соответствующего символа, но не оказывает влияния на точку с запятой в конце строки.
  • Когда курсор указывает на закрывающую скобку, закрывающую фигурную скобку или на закрывающую квадратную скобку, соответствующий парный символ подсвечивается жёлтым.
1575788662651.png


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

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

Для использования Немедленного переименования поместите курсор на имя, которые вы хотите изменить и нажмите Ctrl-R. Если Немедленное переименование применимо к этой величине, все использования этой величины или функции станут подсвечены.

1575788675890.png


Измените одно использование и имена во всех других использованиях в файле изменятся одновременно.

1575788755136.png


Для использования Переименование с реорганизацией выберете элемент, который вы хотите переименовать и либо нажмите Ctrl-R или правый клик и выберете Средство реорганизации кода > Переименовать. Появится диалоговое окно для переименования элемента.

1575788774571.png


Переименуйте элемент и нажмите Предварительный просмотр. Откроется окно рефакторинга. В этом окне вы можете найти все использование элемента в вашем проекте и решить, переименовывать его или нет.

1575788788606.png


Для дополнительной информации о Переименование с реорганизацией обратитесь к скринкасту .

Завершение кода
Завершение кода – это общее название для ряда функций, которые убыстряют процесс написания кода.

Можно выделить следующие типы завершения кода:
  • Фрагменты (снипиты)
  • Предложения исходя из контекста
  • Аббревиатуры
  • Завершение кода в конструкторах
  • Завершение кода запросов SQL
  • PHP 5.3 Пространство имён (Namespaces)
  • Переопределённые и реализованные методы
  • Контекстное завершение конструкций Try/Catch
  • Аннотации
  • PHP 5.4 Traits
Фрагменты (снипиты)
Фрагменты делают возможным для пользователя генерировать код различных элементов автоматически.
  1. Выберите Сервис > Палитра > Элементы кода. Палитра содержит различные элементы пользовательского интерфейса, появляющиеся в правой части панели.
  2. Перетащите требуемую иконку палитры в соответствующее место в коде. Появится окно диалога для ввода специфичных параметров выбранного элемента. Заполните данные.
  3. Код, отображающий выбранный элемент, сгенерируется и будет вставлен в выбранном месте.
Предложения исходя из контекста
Редактор предлагает завершение кода исходя из набранных символов для:
  • Ключевых слов PHP (например, if, else, elseif, while, switch, function и т.д.)
  • Встроенных функций (например, substr, count и т.д.)
  • Предопределённых или определённых пользователем величин
Редактор не только предлагает окончание слов, но и обеспечивает подсказку параметров. Чтобы воспользоваться Завершением кода:
  1. Начните печатать символы требуемой строки.
  2. Нажмите Ctrl + пробел. Выпадающий список покажет подходящие предложения. Каждое предложение сопровождается описанием и информацией о параметрах. Содержание списка меняется по мере продолжения печатания.
1575788812206.png

  1. Чтобы получить список PHP ключевых слов, которые доступны для текущего контекста, нажмите Ctrl + пробел без предварительного печатания.
  2. Чтобы получить подсказку по величинам, просто наберите символ “$”. Появится список всех доступных в данный момент локальных и глобальных величин
1575788833589.png


Шаблоны кода и аббревиатуры
В текущем контекста, термин «аббревиатуры» означает преопределённую строку, которая соответствует ключевому слову используемому в языке программирования. Каждая аббревиатура ассоциирована с расширенным текстом, который содержит полное ключевое слово и шаблон кода для ключевого слова с параметрами. Чтобы воспользоваться этой функциональностью, напечатайте аббревиатуры и нажмите Tab.

1575788846295.png


Аббревиатура заменяется соответствующим ключевым словом и соответствующим шаблоном кода.

1575788857061.png


В шаблоне кода, если курсор в голубом прямоугольнике с фиолетовой границей, значит курсор в поле шаблона. Напечатайте название поля или величину. Все вхождения поля также изменят величину. Нажмите Enter, когда вы закончите, и курсор передвинется к следующему полю (или к позиции значения ${cursor}, или выйдет из шаблона, если поля в нём не упоминаются).

1575788870881.png


Чтобы увидеть список назначенных аббревиатур с шаблонами кода:
  1. Выберите Сервис > Параметры > Редактор > Шаблоны кода.
  2. Из выпадающего меню языков выберете PHP. Появится список аббревиатур и соответствующих им шаблонов кода для PHP.
  3. Чтобы добавить или удалить определения из списка, используйте кнопки с надписями Новый или Удалить соответственно.
  4. Для редактирования определения, выберете соответствующий ряд и редактируйте текст в поле внизу списка.
1575788885680.png


Для дополнительной информации обратитесь к .

Завершение кода для конструкторов
После ключевого слова new, окно предложения кода появится с конструкторами и параметрами для всех доступных классов в проекте.

1575788896697.png


Завершение кода для SQL
Завершение кода для SQL отображается, когда строка начинается с ключевого слова языка запросов SQL “select.” Первый шаг – это выбор соединения с базой данных.

1575788972440.png


Будут показаны все соединения с базами данных, зарегистрированные в IDE.

1575788983515.png


После того, как вы выберите соединение, Завершение кода для SQL предложит все таблицы из данного соединения.

1575789002936.png


Если таблица имеет колонки, то она также будет отображена.

1575789014105.png


Завершение кода для SQL также работает с псевдонимами таблиц.

1575789031408.png


PHP 5.3 Пространство имён (Namespaces)
Код автозавершения поддерживает полностью определенные, частично определенные и неопределенные имена в пространстве имен PHP 5.3. Для дальнейшей информации обратитесь к .

IDE также помогает вам найти отсутствующее выражение use в именованной области видимости. Внутри именованной области видимости, где вы хотите исправить отсутствующее выражение use, либо кликните правой кнопкой и выберете Исправить Fix Uses… или нажмите Ctrl-Shift-I и выберете Исходник > Fix Uses… Откроется диалог предлагающий полностью подходящие имена для каждого нужного выражения use. Для дальнейшей информации смотрите .

Переопределенные и реализованные методы
Автозавершение кода при вызове между членами класса предлагает переопределение или реализацию методов.

1575789048811.png


Контекстное завершение конструкций Try/Catch
Начиная с версии NetBeans IDE 7.1, автозавершение кода для операторов catch включает только классы, которые наследуются от Exception.

1575789066336.png


Аннотации
Автоавершение кода NetBeans IDE поддерживает следующие типы PHP аннотаций:
  • ApiGen (традиционные аннотации PHPDoc)
  • PHPUnit
  • Doctrine 2 (ORM и ODM)
  • Symfony 2
Каждая аннотация может быть ассоциирована с контекстом. NetBeans IDE распознаёт четыре контекста:
  • Функции
  • Класс/интерфейс
  • Метод
  • Поле
Вы можете добавить больше аннотаций в автозавершение кода в Сервис > Параметры > PHP > Аннотации

PHP 5.4 Traits
Traits – это механизм повторного использования кода, представленный in PHP 5.4.0. (Для информации о traits, смотри php.net documentation.) NetBeans IDE распознаёт синтаксис traits и завершение кода охватывает методы, функции и всё, что наследовано от или объявлено в trait.

1575789079858.png


 

Вложения

Мы в соцсетях: