Jetbrains славится своей ранней программой доступа к IDE, которую они выпускают — предварительная версия IDE становится общедоступной за месяцы до времени выпуска, поэтому у людей есть время протестировать ее, сообщить об ошибках и предоставить обратную связь. Это как бета, но не бета, к которой мы привыкли (современная «бета» — своего рода повод для того, чтобы продукт долго сосал). После завершения EAP они переходят на бета-версию, полностью тестируют реализованные функции, исправляют ошибки и только после этого выпускают.
PhpStorm, мой личный выбор IDE, который мы рассматривали ранее , сейчас приближается к версии 8, и его версия EAP доступна с 6 марта 2014 года. Давайте посмотрим, что происходит через их журналы изменений и сообщения EAP, и дополнительно объясним самые важные функции со ссылками и / или разъяснениями (мы не будем освещать исправления ошибок, ознакомьтесь с журналами релизов для них).
Поддержка Drupal 8 и несколько курсоров
EAP 134.1456 представил начало EAP и анонсировал несколько крайне востребованных функций, таких как:
- множественный курсор (см. подробный пост здесь )
- Поддержка Drupal 8 (см. Подробный пост здесь )
- Улучшено форматирование связанных вызовов
- Быстрая документация для живых шаблонов
- Локальная история для выбранной функции, класса или метода
- Новые опции форматирования PHP: выравнивание полей класса
- Развернуть / удалить действие для управляющих структур
- Новая функция отладки PHP: Копировать путь к массиву / значению объекта (в контекстном меню переменной)
- Генерация нескольких геттеров / сеттеров для поля
- Вывод типа: instanceof с OR, поддержка доступа к массиву через константу
- Расширенная поддержка AngularJS (подробности здесь )
- Интеграция с инструментом трассировки JavaScript Spy-js (подробности здесь )
- Новая консоль Live на JavaScript и Node.js, позволяющая вводить команды и код
- Интеграция Bower: поиск в реестре Bower, управление компонентами в IDE
- Требуется поддержка псевдонимов JS
- Поддержка CucumberJS и Less 1.6
- Живые шаблоны теперь предлагаются в дополнении кода
- Блоки кода автоматически отступают после закрытия фигурной скобки
Найдите остальное здесь или в оригинальном сообщении EAP.
Поддержка PhpUnit 4.0
Через две недели в EAP 136.1255 были внесены следующие изменения:
- Поддержка WordPress (см. Учебник здесь и объявление здесь )
- Поддержка PhpUnit 4.0 (подробности здесь )
- Структурный поиск и замена теперь в комплекте
- Постоянные параметры выравнивания в стиле кодирования
- Отладка с помощью node-webkit
- Обновлены плагины Dart и Spy-js
- Автозаполнение теперь предлагает также тип ввода = файл
..и более. Чтобы увидеть полный список, см. Оригинальный пост EAP или заметки о выпуске .
Удаленные переводчики
Еще через неделю после последнего EAP вышла 136.1382 и была добавлена поддержка удаленных интерпретаторов PHP (что позволяет разработчикам использовать интерпретаторы PHP через SSH, удаленно запускать средства отладки и тестирования) — посмотрите, как это использовать здесь — и полную поддержку PHPUnit через SSH (с несколькими конфигурациями) был введен. Аналогично, инструменты командной строки WordPress и Composer теперь могут работать с чисто исполняемым файлом. Для исчерпывающего списка этих незначительных изменений прочитайте полный пост EAP или примечания к выпуску .
Поддержка Markdown в блоках комментариев PhpDoc
3 апреля в EAP 136.1476 была добавлена заметная новая функция — поддержка Markdown в блоках комментариев PhpDoc. Вы можете прочитать подробности этой реализации, а также увидеть пример использования демо, в этом посте . Markdown был реализован благодаря поддержке MarkDown в PhpDocumentor, как указано здесь , но будет справедливо сказать, что это идет вразрез с зерном и демонстрирует уклон в сторону этого конкретного инструмента. Основной конкурент PhpDocumentor , ApiGen , упускает этот аспект.
Другие улучшения включают несколько конфигураций PHPUnit для локальных и удаленных запусков, исправление отсутствующего отчета @throws и многое другое. Дополнительные функции и исправления ошибок можно увидеть в заметках о выпуске .
Покрытие PHPUnit на удаленных переводчиках
Менее чем через неделю после последнего EAP команда Jetbrains выпустила EAP 136.1575 с добавленной поддержкой покрытия PHPUnit 4.0 для удаленных интерпретаторов — функция, представленная всего лишь двумя версиями EAP назад, — и резко улучшила производительность индексации, улучшив плавность рабочего процесса в крупных проектах. Также была добавлена отладка с помощью node-webkit, и был добавлен новый ярлык для редактирования текста, в котором команда / ctrl + backspace удаляет до начала / конца строки.
Новые проверки ПСР-0 / ПСР-4
В EAP 136.1672 введены новые проверки на несоответствие пространства имен / имени в пути к классам, добавлены дополнительные улучшения к аннотациям @throws из предыдущего EAP, включены отфильтрованные трассировки стека для PHPUnit и пропущенные или неполные тесты, добавлено намерение «Добавить поле» для назначений полей в конструкторах и многое другое .
Что касается Webstorm, grunt теперь дает отзывы об успешных или неудачных сборках, и вы можете редактировать URL-адреса документации JS (до этого момента вы могли только добавлять или удалять их). Отладочные точки останова теперь могут иметь группы и имена, и они также указаны в правом желобе.
Отключить Drag & Drop
В основном это исправление, в EAP 136.1768 добавлена возможность отключать перетаскивание в представлении проекта — функция, которая имеет тенденцию становиться довольно утомительной при использовании ненадежных методов ввода (трекпадов и т. П.) Или при изнурении слишком большого количества кофеина :). кнопка «Перезапустить» на консоли Grunt и некоторые улучшения свертывания кода, позволяющие вам сворачивать только «если» или только «еще» в блоке «если-еще», а не все. В любом случае ничего особенного, но остальное вы можете прочитать здесь .
Автоматически создавать объявления @var в операторах foreach
Если вы любите хорошо документированный код, как я, вы по достоинству оцените изменения, внесенные EAP 138.38 . В этом выпуске добавлена возможность автоматически генерировать объявления @var для временных переменных в блоках foreach — что-то, что я делаю вручную каждый раз, когда я «foreach», просто чтобы получить справку по автозаполнению при использовании переменных в цикле. Небольшое, но очень полезное обновление. Также было добавлено новое намерение, которое заменяет кавычки на NOWDOC / HEREDOC. Если вы заинтересованы в исправлении ошибок, смотрите здесь .
Возможность открывать удаленные файлы по URL из файла, который на них ссылается
EAP 138.84 был выпуском исправления для ошибки в предыдущем выпуске EAP, и представил одну полезную новую функцию — файлы, которые вы открываете по URL, могут открывать файлы, на которые они ссылаются в источнике. Например, открыв удаленный URL, исходный код файла загрузится в IDE. Теперь вы можете найти ресурсы в указанном исходном коде (например, CSS или JS) и открыть их по URL-адресу, просто нажав CTRL + щелкнув по ним. Полная проблема описана здесь, а полный журнал релизов находится здесь .
Поддержка Behat
EAP 138.184 был первым EAP, который представил начальную поддержку Behat. Вскоре на SitePoint появятся учебные пособия о Behat, среде разработки на основе поведения для PHP. Все конфигурации настраиваются так же, как и в PHPUnit.
«Skip Into» был добавлен для XDebug, так что вы можете пропускать определенные функции при отладке, добавление типов для переменных, реализующих ArrayIterator или Iterator, для циклов foreach, некоторые новые параметры форматирования, возможность свернуть определенные области по умолчанию и новый тег PhpDoc. : @uses и @ used-by, указывающие на использование файла, так что PhpStorm знает, например, спросить вас об этом, прежде чем вы скажете ему удалить его. Прочитайте остальное здесь .
В следующем EAP поддержка Behat была еще более улучшена за счет добавления intellisense, были добавлены намерения создавать DocBlocks и был добавлен блок обновления, который проверяет совместимость плагинов перед обновлением до новой основной версии IDE — чего-то, к чему люди стремились, особенно те из нас, кто использует десятки плагинов и склонен видеть, как они ломаются.
Вывод
Этот список далеко не исчерпывающий, но он содержит то, что я считаю наиболее важными обновлениями и новыми функциями. Новый EAP уже в пути, и когда он будет выпущен, эта статья будет соответственно обновлена. Какие из этих функций делают вас самыми счастливыми? Используете ли вы версии EAP и уже тестируете новинки, или вы скорее разработчик стабильного выпуска?