NetBeans IDE – универсальный инструмент разработчика

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-разработчиков.

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

blankНа время написания статьи, последняя версия 7.2. Для PHP-разработчиков в ней добавили, например, поддержку PHP 5.4, Symfony2, Doctrine2 и ApiGen фреймворков, улалённую синхронизацию FTP, редактирование конфигурационных файлов Apache и пр.

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

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

Содержание:

Компоновка окон среды NetBeans IDE для PHP программирования

Редактор содержит следующие окна:

  • Основное окно редактирования, которое показывает содержимое файла. Редактор имеет вкладки для каждого открытого файла.
  • Окно «Проекты», показывающее список текущих открытых проектов.
  • Окно «Файлы», показывающее файлы каждого проекта.
  • Окно «Службы», показывающее список доступных внешних служб, таких, как базы данных.

Также можно открыть окно «Навигатор» в левой части панели нажав Ctrl + 7. «Навигатор» показывает структуру PHP класса, если класс открыт в редакторе. Для файлов не содержащих классы, в этой панели ничего не показывается.

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

Подсветка синтаксиса

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

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

  • PHP ключевые слова и переменные
blank
  • PHP константы и «магические константы»

blank

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

blank

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

blank

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

blank

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

blank

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

blank

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

blank

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

Переход к объявлению

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

Окно навигатора

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

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

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

Лист динамически обновляется в то время, когда пользователь печатает код.

Окно навигатора показывается в нижней левой панели.

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

blank

Компактное отображение кода

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

blank

Умные отступы

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

Форматирование

Для форматирования участка кода, чтобы сделать его более понятным, выполните следующие шаги:

  1. Выберите необходимый абзац кода.
  2. Правым кликом мыши выберите контекстное меню, выберите Форматировать или нажмите Alt + Shift + F

Расстановка скобок

Редактор автоматически добавляет и удаляет соответствующие скобки и кавычки, когда пользователь печатает код.

  • Пара одинарных » и двойных кавычек «», круглых скобок () и квадратных скобок [] добавляются когда пользователь напечатал первый символ.
  • В конце строки точка с запятой добавляются в придачу к закрывающейся одинарной или двойной кавычке.
  • Фигурная скобка добавляется после того, как пользователь нажал Enter, что также активирует функцию Умного отступа.
  • Удаление открывающей одинарной или двойной кавычке, круглой или квадратной скобки приводит к автоматическому удалению соответствующего символа, но не оказывает влияния на точку с запятой в конце строки.
  • Когда курсор указывает на закрывающую скобку, закрывающую фигурную скобку или на закрывающую квадратную скобку, соответствующий парный символ подсвечивается жёлтым.

blank

Переименование с реорганизацией и немедленное переименование

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

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

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

blank

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

blank

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

blank

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

blank

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

Завершение кода

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

Можно выделить следующие типы завершения кода:

Фрагменты (снипиты)

Фрагменты делают возможным для пользователя генерировать код различных элементов автоматически.

  1. Выберите Сервис > Палитра > Элементы кода. Палитра содержит различные элементы пользовательского интерфейса, появляющиеся в правой части панели.
  2. Перетащите требуемую иконку палитры в соответствующее место в коде. Появится окно диалога для ввода специфичных параметров выбранного элемента. Заполните данные.
  3. Код, отображающий выбранный элемент, сгенерируется и будет вставлен в выбранном месте.

Предложения исходя из контекста

Редактор предлагает завершение кода исходя из набранных символов для:

  • Ключевых слов PHP (например, if, else, elseif, while, switch, function и т.д.)
  • Встроенных функций (например, substr, count и т.д.)
  • Предопределённых или определённых пользователем величин

Редактор не только предлагает окончание слов, но и обеспечивает подсказку параметров. Чтобы воспользоваться Завершением кода:

  1. Начните печатать символы требуемой строки.
  2. Нажмите Ctrl + пробел. Выпадающий список покажет подходящие предложения. Каждое предложение сопровождается описанием и информацией о параметрах. Содержание списка меняется по мере продолжения печатания.

blank

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

blank

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

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

blank

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

blank

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

blank

Чтобы увидеть список назначенных аббревиатур с шаблонами кода:

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

blank

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

Завершение кода для конструкторов

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

blank

Завершение кода для SQL

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

blank

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

blank

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

blank

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

blank

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

blank

PHP 5.3 Пространство имён (Namespaces)

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

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

Переопределенные и реализованные методы

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

blank

Контекстное завершение конструкций Try/Catch

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

blank

Аннотации

Автоавершение кода 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.

blank

Поддержка PHP 5.4

NetBeans Editor для PHP предлагает ряд особенностей, специфичных для разработке на PHP 5.4.

Прямоугольное выделение

NetBeans IDE 7.1 для РНР внедряет функцию прямоугольного выделения. Данная функция полезна в таких случаях, как удаление номеров строк во вставленном коде.

Для активирования прямоугольного выделения нажмите кнопку переключения «Прямоугольное выделение» или комбинацию клавиш Ctrl-Shift-R.

blank

Когда прямоугольное выделение активировано, можно использовать эту функцию с помощью мыши или клавиатуры. При использовании клавиатуры поместите курсор в угол, удерживайте нажатой клавишу SHIFT и выделите необходимый фрагмент с помощью клавиш стрелок.

blank

Если вы набираете текст при выделенной области, текст помещается на каждую строку этой области. Это можно использовать, например, для одновременного изменения модификаторов доступа ко многим полям класса.

blank

Поддержка документатора РНР

В среду IDE NetBeans 7.0 добавлена встроенная поддержка для документатора РНР. Для получения более подробной информации см. видео Автоматические создание документации РНР с помощью среды IDE NetBeans.

Внимание: Документатор РНР не полностью поддерживает РНР 5.3. Документатор РНР не обрабатывает пространства имен и некоторые другие функции версии 5.3.

Генераторы кода

При нажатии сочетания клавиш ALT+INSERT (CTRL+I в Mac OS) открывается меню со всеми возможными генераторами кода. Список генераторов кода зависит от контекста. Он зависит от позиции курсора в коде в момент нажатия сочетания клавиш. В зависимости от позиции в коде, можно генерировать подключение к базе данных, таблицы базы данных, текст для проверки, и другие элементы. В этом разделе рассмотрены следующие генераторы кода:

Конструкторы

Для создания конструкторов нужно нажать сочетание клавиш ALT+INSERT (CTRL+I в Mac OS), когда курсор находится внутри тела класса, но не внутри функций. При выборе пункт «Создать… Конструктор» открывается диалоговое окно со списком полей, которые можно инициализировать в конструкторе. Имена полей используются в качестве имен параметров конструктора.

blank

Можно не выбирать ни одного поля. В этом случае будет создан пустой конструктор без параметров. Если поле — это класс, имеющий свойства, можно либо выбрать отдельные свойства, либо выбрать класс (при этом все свойства класса выбираются автоматически).

Дополнительные сведения приведены в записи блога NetBeans PHP

Методы получения и установки

Для создания методов получения и установки можно использовать сочетание клавиш ALT+INSERT (CTRL+I на Mac), когда курсор находится внутри тела класса, и выбрать пункт «Метод получения», «Метод установки» или «Методы получения и установки». Отображаются только возможные варианты функций. Например, если для всех доступных свойств уже созданы методы установки, отображается только вариант создания функций получения.

При выборе пункта «Создать» … «Метод получения», «Метод установки» и «Методы получения и установки» отображается диалоговое окно со свойствами, для которых можно создать метод получения или установки. Свойства отображаются в виде дерева. При выборе родительского класса автоматически выбираются все его свойства.

Метод получения или установки можно назвать в соответствии с нотацией getName или get_name.

Дополнительные сведения приведены в исходной записи блога NetBeans PHP и записи об улучшенной генерации методов получения и установки.

Переопределенные и реализованные методы

Для создания переопределенных или реализованных методов можно нажать ALT+INSERT (CTRL+I в Mac OS), когда курсор находится внутри определения класса и существует несколько членов класса. В диалоговом окне отображаются методы, которые можно добавить, и показано, будут ли они переопределены или реализованы.

blank

Эта возможность дополняет подсказку «Реализовать все абстрактные методы» и автозавершение кода переопределенных и реализованных методов.

Особенности дополнения параметров «Реализованний всех абстрактных методов» и завершение кода для переопределённых и реализованных методов.

Дополнительные сведения приведены в записи блога NetBeans PHP.

Подсказки по вводу параметров

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

  1. Введите начальные символы функции, которую требуется вызвать.
  2. Нажмите комбинацию клавиш Ctrl + пробел. В раскрывающемся списке содержатся контекстно-зависимые предложения с формальными параметрами для каждого из них.

blank

  1. Выберите требуемое предложение и нажмите клавишу ВВОД. В текст кода вводится имя выбранной функции, при этом в скобках отображается шаблон для ввода параметров.

blank

Определение типа переменной в комментариях

Переменную и ее тип можно определить в комментарии. Комментарий должен иметь формат /* @var $variable type */ . Если комментарий составлен правильно, тег var отображается полужирным шрифтом.

blank

Для создания комментария, определяющего переменную, можно вставить шаблон кода vdoc после табулятора. Имя переменной выделяется и становится доступным для изменения. Повторно нажмите клавишу табулятора для выбора типа.

blank

Шаблон кода автоматически устанавливает имя и тип переменной. Если переменная используется после места вставки шаблона, то следующее имя переменной предлагается по умолчанию. Если переменная, используемая после места вставки шаблона, не существует, но переменная была использована выше шаблона, то имя этой предшествующей переменной предлагается по умолчанию. Если среда IDE NetBeans не может обнаружить переменную вблизи от места использования шаблона, то именем по умолчанию является variable.  Тип переменной устанавливается автоматически согласно таким же правилам.

blank

Сообщения об ошибках

В течение ввода данных пользователем редактор анализирует синтаксис кода и отмечает ошибки (подчеркивает ошибочные строки и устанавливает красный круг рядом с каждой из них). Для получения пояснения ошибки щелкните строку, содержащую ошибку, или соответствующий ей красный кружок. Появится всплывающая подсказка с кратким пояснением ошибки.

blank

Тестирование с помощью PHPUnit и Selenium

Среда IDE NetBeans для РНР поддерживает автоматизированные тесты PHPUnit, включая покрытие кода. Начиная со среды IDE NetBeans 7.1 можно использовать в коде группы тестирования.

Среда IDE NetBeans также поддерживает переносимую платформу тестирования Selenium в комбинации с PHPUnit. Подключаемый модуль Selenium доступен из центра обновления. При установке этот подключаемый модуль добавляет сервер Selenium к зарегистрированным серверам среды IDE, а также добавляет параметры тестирования Selenium к меню PHP.

Дополнительные сведения приведены в документе Тестирование с помощью PHPUnit и Selenium.

Проверка орфографии

Доступна проверка орфографии. В диалоговом окне «Параметры» можно включать и выключать проверку орфографии для различных языков.

blank

В диалоговом окне «Параметры» можно добавлять и удалять новые словари, а также устанавливать язык.Для добавления нового словаря необходим файл со словами. Формат файла словаря — список слов, в котором каждое слово находится на отдельной строке. Необходимо сообщить среде NetBeans кодировку файла словаря и для какого языка он будет использоваться.

blank

Когда функция проверки орфографии находит слово, которого нет в словаре, она подчеркивает слово красной линией. Функция проверки орфографии также добавляет совет по использованию инструмента к словосочетанию «ошибка в слове». Обратите внимание: текст HTML в файлах РНР также проверяется.

blank

Поддержка платформ Symphony и Zend

Поддержка платформ Symfony и Zend встроена в редактор PHP. При этом происходит распознавание существующей платформы Symfony и на последней панели мастера создания новых проектов PHP появляется возможность добавления платформы к новым проектам.

В проектах PHP с поддержкой Symfony или Zend существует возможность запуска команд Symfony или Zend из контекстного меню проекта.

blank

Команды интерфейса пользователя позволяют:

  • Фильтровать команды Symfony/Zend (1)
  • Задавать параметры команды (2)
  • Выбирать команды (3)
  • Просматривать контекстные справочные сведения о команде (4)
  • Предварительно просматривать команду перед исполнением (5)

blank

Список команд зависит от проекта. Это обозначает, что если, например, используется команда Doctrine вместо Propel, то команда Propel в списке представлена не будет, а будет представлена только команда Doctrine. Также доступны все команды из подключаемых модулей Symfony.

Автозавершение кода включает в себя переменные Symfony в представлениях Symfony и переменные Zend в представлениях Zend.

blank

Также среда IDE обеспечивает навигационные ссылки между различными представлениями и действиями платформ Symfony или Zend. Эти навигационные ссылки были улучшены в среде NetBeans 6.9. Кроме того, автозавершение кода в шаблонах/файлах view теперь включает в себя переменные, определенные в файлах controller/action. Подробности приведены в записи блога NetBeans PHP.

Дополнительные сведения об использовании поддержки Symfony приведены в экранном путеводителе Symfony.

Дополнительные сведения об использовании поддержки платформы Zend приведены в экранном путеводителе Zend.

Поддержка Smarty

В среде IDE NetBeans 7.1 имеется подключаемый модуль для поддержки платформы Smarty. Эта поддержка включает базовые функции Smarty 3, а именно автозавершение и разделители кода Smarty 3.

blank

Между поведением Smarty 3 и Smarty 2 можно переключаться в окне «Параметры». Выберите команды Сервис > Параметры (Предпочтения NetBeans для MacOS), далее PHP и откройте вкладку Smarty. Должен быть установлен подключаемый модуль платформы Smarty.

blank

Поддержка Doctrine2

Если у вас есть Doctrine2 ORM и он требует установочных пакетов, вы можете использовать завершение кода NetBeans IDE с функциями Doctrine2 и вы можете запускать команды Doctrine2 из IDE. Вам нужно установить путь к скрипту запуска Doctrine2 в опциях IDE, и ваш PHP проект получает поддержку Doctrine2. Смотрите запись в блоге Поддержка Doctrine2 добавлена в NetBeans PHP для деталей.

Статья представляет собой перевод NetBeans IDE for PHP Editor: Brief Overview . Скриншоты, в большей части, взяты оттуда же.

Осилившим статью до конца, для поднятия настроения:

Поделитесь этой статьёй с друзьями, если хотите выхода новых статей:

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *