- Разновидности поиска
- + N – Find by Class Name
- + + N – Find by File Name
- + + + N – Find Symbol
- + – Find Usages
- + + F – Find in Path
- Настройка сервера развёртывания
- 2.1. Создание сервера развёртывания
- 2.2. Настройка подключения
- 2.2.1. FTP, FTPS, SFTP
- 2.2.3. На месте (локальный веб-сервер)
- 2.3. Настройка отображений
- 2.4. Установка сервера по умолчанию
- Основные возможности
- Редактор кода PHP
- Среда разработки
- Отладка и тестирование
- Работа с JavaScript, CSS и HTML
- Поддержка PHP в IntelliJ IDEA
- Бесплатные лицензии для ВУЗов
- Microsoft
- Что предоставляют?
- Как получить?
- Ограничения использования бесплатной лицензии на PhpStorm
- JetBrains
- Что предоставляют?
- Как получить?
- Срок подписки?
Разновидности поиска
+ N – Find by Class Name
Поиск по имени класса. Удобно в больших проектах, когда всё зарыто вглубь директорий или просто неизвестно где находится. Убойности добавляет «умный поиск», т.к. ищется как по части названия класса, так и по первым буквам, например SomeVeryLongClass будет найден по «SVLC». Учитывает регистр букв, будьте внимательны.
UPD: «Умный поиск» разработчики называют Camel’s Hump. Кстати в настройках можно сделать чтобы выделение слов, а также перемещение осуществлялось не целиком (до пробела), а именно по по словам (до заглавной буквы). Спасибо, yujin1st
+ + N – Find by File Name
Поиск по имени файла. Аналогично поиску по имени класса использует «умный поиск».
UPD: Для нахождения файла по вложенности можно использовать слеш: some/deep/dir/with/file.txt найдется по «s/d/d/w/f», спасибо develop7
+ + + N – Find Symbol
+ – Find Usages
В момент когда курсор находится на имени класса или метода нажатие хоткея позволяет найти все использования в проекте или определенной части (Scope).
Есть вариант + + — тот же поиск по использованиям, но в виде контекстного меню. Спасибо iPavel
+ + F – Find in Path
Поиск произвольной фразы по файлам проекта. При рефакторинге обычно хорошо дополняет Find Usages.
Не стоило бы писать о “просто поиске”, если бы не возможность ограничить директорию в котором будут искаться нужные штуки, или настроить Scope. Scope позволяет гибко настроить и сохранить область поиска, для использования в дальнейшем. Можно выкинуть из поиска, например, файлы фреймворка или сторонние либы.
Настройка сервера развёртывания
2.1. Создание сервера развёртывания
Создание сервера развёртывания может быть осуществлено через следующие пункты главного меню IDE:
или .
При нажатии на кнопку с зелёным плюсиком на панели инструментов можно добавить
новый веб-сервер.
Дай серверу имя и выбери его тип. Это может быть любой из следующих:
- FTP — подключение к серверу развёртывания с помощью FTP.
- SFTP — подключение к серверу развёртывания с помощью SFTP.
- FTPS — подключение к серверу развёртывания с помощью FTPS.
- Local or mounted folder (локальная или примонтированная папка) — корневая
директория документов сервера развёртывания. Является доступной как локальная папка на компьютере или в виде
подсоединённой папки на удалённом компьютере. - In place (на месте) — проект PhpStorm находится в корневой директории
локального веб-сервера.
Нажми кнопку OK, чтобы добавить сервер развёртывания.
Когда сервер развёртывания создаётся и настраивается в каком-либо проекте,
то он и детали его подключения становятся глобальными и доступными для любого проекта открытого в PhpStorm,
а параметры вкладок Mappings (отображения) и
Excluded Paths (исключаемые пути) являются настройками каждого конкретного проекта.
Таким образом, несколько проектов могут использовать один и тот же сервер развёртывания без необходимости настройки
подключения для каждого из них в отдельности.
2.2. Настройка подключения
Теперь на вкладке Connections (подключения) ты должен указать сведения о соединении.
В зависимости от типа сервера, выбранного ранее, эти параметры будут отличаться.
Но один параметр является общим для всех типов соединений — это корневой URL-адрес веб-сервера. Обычно им выступает
URL-адрес до корневого каталога документов сервера.
Далее, мой друг, рассмотрим подробно параметры каждого типа соединения.
2.2.1. FTP, FTPS, SFTP
Для FTP, FTPS и SFTP конфигурации соединений более или менее похожи. Ты должен указать имя хоста, порт,
корневой путь (путь на удалённом сервере, который будет использоваться в качестве корня) и учётные данные.
Кнопку Advanced options… (расширенные опции) можно использовать для настройки
дополнительных параметров подключения. Обычно в этом нет необходимости, но если, например, требуется пассивный
режим или ограничение на количество одновременных соединений, то эти параметры могут быть определены.
Используя кнопку Test FTP connection…, ты сможешь проверить корректность введённых
ранее параметров. Ниже представлен результат успешной проверки.
Для локальной или примонтированной папки ты должен указать путь, куда файлы проекта должны быть развёрнуты.
2.2.3. На месте (локальный веб-сервер)
Для подключения данного типа ты должен указать только корневой URL-адрес веб-сервера. Причина этого в том,
что корневой каталог документов локального веб-сервера отображается в корне проекта твоей IDE — нет необходимости
передавать такие файлы проекта куда-либо.
2.3. Настройка отображений
Отображение — это отношение между папками проекта, папками на сервере для копирования файлов проекта и URL-адресами
для доступа к данным на сервере через HTTP. Эти сопоставления используются, чтобы помочь PhpStorm найти файл или
папку в нашем проекте или на удалённом сервере.
Самый простой способ — отобразить всю корневую директорию проекта в корневой каталог документов сервера,
где структура их папок будет идентична. На скриншоте ниже указано следующее соотношение:
Local Path(локальный путь) | Deployment Path(путь развёртки, например, на FTP сервере) | Web Path (URL-адрес — веб-путь) |
C:\OpenServer\domains\vpawd.lc |
- application — содержит контроллеры и код приложений;
- public — соответствует корневой директории документов сервера
и обычно содержит JavaScript, CSS и т.д.
Такой тип приложений может быть отображён следующим образом:
Local Path(локальный путь) | Deployment Path(путь развёртки, например, на FTP сервере) | Web Path(URL-адрес — веб-путь) |
C:\OpenServer\domains\vpawd.lc\application | /application | |
C:\OpenServer\domains\vpawd.lc\public | /public |
Внимание
На скриншоте выше для каталога application
предупреждение показано потому, что не указан Web Path (веб-путь), но для настройки
данного типа приложений это нормально. Также стоит отметить, что когда у нескольких папок будут одинаковые соотношения,
то применяться будет только первое.
2.4. Установка сервера по умолчанию
Если ты используешь только один сервер развёртывания для многих проектов (часто так и бывает), имеет смысл
установить его в качестве сервера по умолчанию. В окне Deployment на вкладке
Mappings с использованием кнопки
Use this server as default можно установить сервер по умолчанию для проекта.
Основные возможности
Редактор кода PHP
PhpStorm предоставляет богатый и интеллектуальный редактор кода для PHP с подсветкой кода, расширенной конфигурацией форматирования кода, проверкой на наличие ошибок на лету и умным автодополнением.
- Поддержка PHP 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2 и 7.4, включая генераторы, сопрограммы, пространства имен, замыкания, типажи, синтаксис коротких массивов, доступ к члену класса при инстанциировании, разыменование массива при вызове функции, бинарные литералы, выражения в статичных вызовах и т. д. PhpStorm может использоваться как для современных, так и для традиционных проектов на PHP.
- Автодополнение кода финализирует классы, методы, имена переменных, ключевые слова PHP, а также широко используемые имена полей и переменных в зависимости от их типа.
- Поддержка стандартов оформления кода (PSR1/PSR2, Drupal, Symfony2, Zend).
- Поддержка PHPDoc. PhpStorm предоставляет соответствующее автодополнение кода, основанное на аннотациях @property, @method и @var.
- Детектор дублируемого кода.
- PHP Code Sniffer (phpcs), проверяющий код на лету.
- Рефакторинги (Переименование, Введение переменной/константы/поля, Встраивание переменной).
- Поддержка редактирования шаблонов Smarty (подсвечивание синтаксических ошибок, автодополнение функций и атрибутов Smarty, автоматическая вставка парных скобок, кавычек и закрывающих тегов и др.).
- MVC представление для Symfony2 и Yii фреймворков.
- Распознавание кода, запакованного в PHAR-архивы.
Среда разработки
- Поддержка SQL и баз данных (Рефакторинг схемы базы данных, генерация скриптов миграции схемы, экспорт результатов выполнения запроса в файл или буфер обмена, редактирование хранимых процедур и многое другое.
- Удаленное развертывание приложений и автоматическая синхронизация с использованием FTP, SFTP, FTPS и др. протоколов.
- Интеграция с системами управления версиями (Git — включая специальную функциональность для работы с GitHub, Subversion, Mercurial, Perforce, CVS, TFS), позволяющая совершать многие действия, например commit, merge, diff и другие, прямо из PhpStorm.
- Локальная история (Local History) (локально отслеживает любые изменения в коде).
- PHP UML (Диаграммы классов UML для PHP кода с рефакторингами, вызываемыми прямо из диаграммы).
- Поддержка Phing (предоставляет автодополнение, проверку стандартных тегов, свойств, имен целей, значений атрибутов пути в компоновочных файлах (build files).
- Интеграция с баг-трекерами.
- Поддержка Docker, Vagrant, SSH консоли и удаленных инструментов
- Поддержка Google App Engine for PHP
- Использование различных сочетаний клавиш для повышения эффективности.
Отладка и тестирование
- Легко конфигурируемый визуальный отладчик (Xdebug, Zend Debugger) для проверки соответствующих контексту локальных переменных и заданных пользователем объектов слежения, в том числе массивов и сложных объектов, а также редактирования значений на лету.
- Интеграция с профилировщиком: скрипты можно профилировать прямо из PhpStorm с помощью Xdebug или Zend Debugger. Доступен агрегированный отчет; пользователь может перейти от статистики исполнения прямо к функции в PHP коде.
- Интеграция с фреймворком модульного тестирования PHPUnit (тесты PHPUnit можно разрабатывать в PhpStorm и сразу запускать из каталога, файла или класса с помощью контекстного меню) с покрытием кода.
Работа с JavaScript, CSS и HTML
Все функциональные возможности, доступные в WebStorm, включены в PhpStorm. Основные возможности:
- Автодополнение кода для JavaScript, HTML и CSS (для тегов, ключевых слов, меток, переменных, параметров и функций).
- Поддержка HTML5.
- Live Edit: изменения в коде можно мгновенно просмотреть в браузере без перезагрузки страницы.
- Поддержка CSS/SASS/SCSS/LESS (автодополнение кода, подсветка ошибок, валидация и т. д.).
- Emmet.
- Навигация по коду и поиск использований (перейти к объявлению/идентификатору, найти использования)
- Поддержка ECMAScript Harmony.
- Рефакторинги для JavaScript (переименование, выделение переменной/функции, встраивание переменной/функции, перемещение/копирование, безопасное удаление, извлечение встроенного скрипта в отдельный файл).
- Отладчик JavaScript, а также интеграция с фреймворками модульного тестирования JavaScript.
Поддержка PHP в IntelliJ IDEA
JetBrains также предоставляет другую, более мощную интегрированную среду разработки — IntelliJ IDEA, в которой возможности PhpStorm можно обеспечить с помощью плагинов.
Бесплатные лицензии для ВУЗов
Компания JetBrains предоставляет бесплатные лицензии учащимся, студентам и преподавателям любых образовательных организаций. Лицензии предоставляются в виде годовой подписки на все продукты JetBrains (all products pack), которая позволяет свободно пользоваться всеми средствами разработки JetBrains без ограничений по функциональности.
Если вы студент либо преподаватель, и образовательная лицензия требуется вам для личного использования, вам нужно оформить индивидуальную студенческую подписку. Для этого необходим адрес электронной почты в домене университета или действительная ISIC карта. Если у вас нет возможности оформить личную подписку, заинтересуйте вашего преподавателя в том, чтобы он подал заявку на аудиторные лицензии для использования в вашем учебном заведении.
Если образовательные лицензии требуются для централизованного распределения в школах/ВУЗах, где учащиеся не имеют возможности подать индивидуальные заявки на студенческие лицензии, либо для установки ПО на компьютеры в компьютерных классах/аудиториях, преподавателю или сотруднику учебного заведения необходимо оформить заявку на аудиторные (classroom) лицензии. Аудиторные лицензии можно выдавать поимённо студентам и коллегам (через ссылку-приглашение) либо распределять через сервер лицензий по локальной сети в компьютерных классах учебного заведения.
Аудиторные лицензии предназначены исключительно для проведения занятий по программированию. Студенческие лицензии можно использовать для индивидуального обучения, подготовки к занятиям, а также для научно-исследовательской работы.
Главное ограничение образовательных лицензий — это запрет на передачу лицензий третьим лицам и создание с помощью приложений коммерческих программ и служб.
Если программирование — это ваша радость и страсть, то наши инструменты помогут вам с удовольствием создавать интересные учебные и научные проекты!
Microsoft
Примечание Программа пока недоступна на территории РФ
Еще один корпоративный гигант, не слишком дружелюбный к пользователям. Готовьтесь к устаревшим данным, ссылкам, ведущим не на те страницы, или ведущим никуда. Программа поддержки учащихся анонсирована в 2008 году под названием DreamSpark, и её сайт больше не работает. Сейчас этот проект называется Microsoft Imagine (спойлер: на самом деле это название уже тоже устарело).
К сожалению, в настоящее время пакет бесплатных программ недоступен на территории РФ, однако в надежде на читателей из других стран мы всё же расскажем об условиях его предоставления. Проект предназначен для учеников средней школы старше 12 лет, студентов и преподавателей.
Что предоставляют?
Программа предлагает зарегистрированным участникам пакет ПО, который на вроде как называется Microsoft Imagine for Students. При переходе на регистрацию студенческого аккаунта оказывается, что это теперь Azure Dev Tools for Teaching. Ну, вот так. При регистрации дают 12 месяцев бесплатного доступа к базовым версиям платных программ и $200 на внутренний счёт. В пакет входит даже больше наименований, чем в предложении от GitHub, остановимся на основных. Полный список можно найти здесь.
- Microsoft Azure — основной элемент пакета, платформа облачных сервисов Microsoft. Базовый вариант обычно предоставляется бесплатно.
- Visual Studio Community — среда разработки с поддержкой создания приложений под Windows, iOS, Android. Интегрирована с облачными службами. Бесплатное ПО.
- Xamarin Studio Community — инструмент для кросс-платформенной разработки мобильных приложений.
- Microsoft Machine Learning Server — платформа для анализа данных, создания интеллектуальных приложений и получения аналитических сведений.
- SQL Server — платформа для управления SQL базами данных.
- Pluralsight — сборник обучающих курсов для разработчиков.
Как получить?
Есть несколько способов верификации статуса учащегося в зависимости от страны. Обычно есть 4 варианта:
- Карточка ISIC/ITIC.
- Скан или фотография документа — например, студенческого билета или удостоверения преподавателя.
- Адрес студенческой электронной почты.
- Регистрация в программе учебного заведения. Учащиеся и преподаватели в таком случае получают упрощённый доступ.
К сожалению, в России пока недоступен ни один из этих способов.
Ограничения использования бесплатной лицензии на PhpStorm
Основными условиями компании JetBrains использования льготной лицензии продукта PhpStorm являются:
- ПО не может быть передано третьим лицам;
- продукт не должен использоваться в коммерческих проектах или с целью получения прибыли.
При этом компания-правообладатель веб-продукта PhpStorm оставляет возможность лицензиатам, по истечению годичного бесплатного периода, подать повторную заявку. Таким образом, безвозмездное использование полного пакета веб-инструментов, от JetBrains доступно для студентов на протяжении всего периода обучения по очной форме .
Для активации бесплатной лицензии с января 2019 года необходим доступ в интернет – разработчик исключил возможность скачивания кодов в автономном режиме.
JetBrains
Начнём с компании, которая специализируется на создании средств разработки и инструментов командной работы. JetBrains предлагает бесплатный доступ к своим продуктам учащимся аккредитованных образовательных учреждений: средних школ, среднеспециальных и высших учебных заведений. Студент должен быть зачислен на аккредитованный учебный курс длительностью от одного года. Преподаватели также могут отправить заявку на получение лицензии. Однако надо учесть, что лицензию дают только для образовательных целей: инструменты нельзя будет использовать, например, для разработки ПО внутреннего пользования.
Что предоставляют?
ReSharper Ultimate — набор инструментов для разработки под .NET. В комплекте:
- ReSharper, расширение VisualStudio для разработки под .NET;
- ReSharper C++, расширение для разработки на C++;
- dotTrace, инструмент контроля производительности;
- dotMemory, профилировщик памяти;
- dotCover, инструмент для запуска юнит-тестов и анализа покрытия кода;
- dotPeek, инструмент для декомпиляции и исследования сборок.
IntelliJ IDEA — одна из самых популярных разработок компании, IDE для JVM. Community версия этой среды разработки доступна и бесплатно. В версии Ultimate компания предлагает такие дополнения:
- интеграцию системы управления версиями Perforce;
- поддержку JavaScript и TypeScript;
- поддержку распространённых фреймворков и технологий, таких как Hibernate, Guice, FreeMarker, Velocity, Thymeleaf, Java EE, Spring, GWT, Vaadin, Play и других;
- инструменты для работы с базами данных и SQL;
- обнаружение повторяющихся участков кода.
Кроме этих двух больших продуктов, JetBrains предлагает студентам и преподавателям такие IDE:
- AppCode под iOS/macOS;
- PyCharm для Python и Django;
- CLion для C/C++;
- Rider под .NET;
- DataGrip для баз данных и SQL;
- RubyMine для Ruby и Rails;
- GoLand для Go;
- WebStorm для JavaScript;
- PHPStorm для веб-разработки и PHP.
Как получить?
Способ 1. Студенческий/преподавательский адрес электронной почты. Помимо него потребуется сообщить статус (студент/преподаватель), имя и фамилию и страну, в которой находится учебное заведение. У студентов спросят про возраст, для оформления подписки нужно достичь 13 лет. На преподавателей это требование, видимо, не распространяется.
Способ 2. Обладатели удостоверения ISIC/ITIC могут ввести данные своей карточки — серийный номер и отображённое на карте имя. В таком случае ученический адрес личной электронной почты не требуется, подойдёт любой.
Способ 3. Можно попробовать предоставить официальный документ, подтверждающий ваш статус — например, студенческий билет. Нужно будет ввести имя и фамилию, адрес электронной почты (любой, принадлежащий вам), название учебного заведения, его официальный веб-сайт и страну размещения. Также надо подтвердить, что учебное заведение предоставляет услуги среднего или высшего образования и выдаёт дипломы государственного образца, а вы участвуете в образовательной программе длительностью от одного года. Скан или фотография документа должны быть не больше 4 мегабайт, содержать ваше имя, название образовательного учреждения, указания на срок действия документа. Надписи должны быть хорошо читаемы и доступны для перевода с помощью Google Translate. Вместо изображения документа можно предоставить ссылку на информацию.
Способ 4. Если вы оформили подписку на GitHub Student Developer Pack, можно подтвердить свой статус с помощью аккаунта GitHub. Вас автоматически переведут с сайта JetBrains на форму авторизации.
Срок подписки?
Лицензия предоставляется на один год и её можно продлевать — вам пришлют напоминание по электронной почте. Выпускники получают скидку 25% на покупку ПО, входящего в пакет. Скидка действительна в течение года после выпуска.