AdmStorm

Версия v2

IDE вместо админок: ручки, конфдата, ланги

Если AdmStorm 1.0 и минорные апдейты были сфокусированы на "IDE вместо консоли", то AdmStorm 2.0 идёт под лозунгом "IDE вместо админок".

В коде бэкенда регулярно встречаются значения из конфига, переводы по строковым ключам, ветки кода за if'ами, чтобы управлять раскаткой. При чтении кода регулярно возникают вопросы: какое значение на самом деле тут окажется? исполнится эта ветка кода или нет?

Теперь не нужно копировать названия ключей, идти в админки и вставлять их в поиск: при навигации по коду значения ручек, конфдаты, лангов и т.п. доступны сразу в PHPStorm.

Версия v1.3.5

Исправлено

  • Исправлена ошибка при проверке, что ветки не синхронизированы.

Версия v1.3.4

Исправлено

  • Исправлена ошибка при проверке диффа по файлам.

Версия v1.3.3

Поддержка PhpStorm версии 2022.3.

Удалено

  • Удалили подсветку Jira тикетов из комментариев из-за проблем совместимости с новой версией.

Версия v1.3.2

Минорное обновление с фиксами.

Исправлено

  • Исправлено исключение при запуске git pull из IDE в версии 2022.2.1.
  • Исправлены API тесты для PHPUnit.

Версия v1.3.1

Консоль для просмотра debug логов прямо в IDE, небольшие улучшения, а также большое количество исправлений.

Консоль для просмотра debug логов прямо в IDE

В прошлом обновлении мы добавили поддержку yarn watch в виде виджета на панели снизу. Теперь рядом с ним добавился виджет для просмотра debug логов.

Больше не нужно заходить отдельно на сервер, чтобы посмотреть логи, они будут отображаться прямо в IDE.

Виджет всегда можно отключить в настройках Tools | AdmStorm..

Другие улучшения

  • Теперь тесты PHPUnit можно запускать из контекстного меню файла.
  • Теперь ktest бенчмарки можно запускать из контекстного меню файла.
  • На странице установки уточнён момент про открытие проекта.
  • На странице установки обновлён пункт про Yubikey, а также добавлено уточнение про страницу настроек.
  • Добавлены настройки для включения/отключения виджетов инструментов.
  • Обновлены тесты API.
  • Добавлено уведомление о наличии новой версии плагина.

Исправлено

  • Исправлено зависание во время запуска PHPUnit теста или ktest бенчмарка.
  • Исправлено зависание когда потеряно подключение при запуске yarn watch.
  • Исправлен запуск отдельного метода бенчмарка, теперь если запускается метод с именем, которое является также префиксом для имени других методов, то другие методы не будут запущены.
  • Исправлено исключение, когда плагин автоматически открывает новый SSH туннель.
  • Исправлено предупреждение о производительности для line marker для ktest.
  • yarn watch теперь не появляется в не vkcom проектах.
  • Исправлен порядок следования аргументов для новых api тестов.
  • Исправлено название сервера на странице настройки плагина на верный вариант Dev-server.
  • Исправлен баг, когда при потере соединения при запуске yarn watch плагин считал инструмент запущенными.

Версия v1.3.0

Бенчмарки для KPHP, поддержка yarn watch, деплой тестовых доменов, обновления в KPHP Playground, подсветка Jira тикетов в коде и другие улучшения, а также исправления багов.

Полная поддержка бенчмарков KPHP

Не так давно на всех серверах разработки был добавлен инструмент ktest, который позволяет удобно запускать бенчмарки для KPHP, сравнивать KPHP и PHP, а также бенчмаркать количество аллокаций памяти для KPHP.

ktest также позволяет сравнивать два отдельных метода или два отдельных класса бенчмарков, что удобно для проверки предположений.

Теперь этот инструмент доступен прямо из IDE. Плагин добавляет иконки для быстрого запуска бенчмарка для классов и отдельных методов. Также в выпадающем меню иконки можно быстро выбрать тип бенчмарка перед его запуском.

Плагин также скажет вам, если вы неправильно назвали бенчмарк или файл.

Виджет Yarn Watch

Больше не нужно запускать yarn watch вручную через консоль и переключаться между IDE и консолью, чтобы проверить не было ли ошибок.

Виджет своим цветом показывает текущее состояние, если он серый, значит watcher не включен, зеленый – все хорошо, watcher работает, мигает красным – была ошибка. Благодаря этому вы не пропустите ошибку, если она произойдет.

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

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

Обновления в KPHP Playground

В этой версии мы добавили два небольших дополнения:

1. Теперь можно поделиться кодом из Playground.

Плагин создаст новый Hastebin которым можно поделиться с другим человеком. После этого код по ссылке можно загрузить обратно с помощью кнопки вставки.

2. Теперь можно просматривать ход компиляции KPHP уже после того, как отобразился вывод.

Для этого нужно переключиться на вкладку KPHP Compilation.

Deploy Test Domains

Мы добавили в меню Tool новый пункт Deploy Test Domains, с помощью которого теперь можно удобно раскатывать ветки на тестовые домены.

Плагин понимает, когда вы выкатываетесь на любой свободный домен и запоминает на какой конкретно была выкатка, поэтому в следующий раз, когда вам нужно будет обновить выкатку, то достаточно будет выбрать чебокс Last used и нажать на кнопку Deploy.

В этом же окне можно и освободить нужный вам домен через ссылку под полем Domain.

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

Мы добавили подсветку Jira тикетов для комментариев в PHP, JS и CSS. Теперь можно быстро открыть таску, на которую ссылается комментарий.

Другие улучшения

  • Теперь, когда плагин синхронизирует коммиты, то если коммитов больше 30, то он показывает только 30. Благодаря этому скорость открытия диалогового окна для синхронизации коммитов стала гораздо быстрее даже если коммитов 1000 (например, после ребейза).
  • Добавили отправку ошибок в плагине в наш Sentry. Это позволит быстрее реагировать на ошибки в плагине.
  • На странице настроек AdmStorm теперь для полей добавлены комментарии объясняющие за что отвечает каждая настройка.
  • Теперь каждое новое обновление будет показано уведомление с ссылкой на эту страницу.

Исправлено

  • Теперь плагин не считает репозиторий kphp-polyfills проектом для которого нужно включить функциональность плагина.
  • Теперь, когда запускается пуш в стороннем проект, то плагин не будет показывать сообщение, что есть проблемы с пушем.
  • В окошке ввода пароля для сброса Yubikey теперь чекбокс "Remember" по-умолчанию включен.
  • Исправлен запуск некоторых тестов для пакетов.
  • Исправлен баг, когда при автоматическом открытии SSH туннеля он мог запускаться несколько раз.
  • Исправлен OpenSC путь для Linux. Теперь на Linux будет работать автоматический сбор Yubikey.
  • Исправлен баг, когда пароль от Yubikey не сохранялся даже если поставлена галочка "Remember".
  • Исправлен баг, когда для debug log изменение size не обновляло ссылку на которую ведет gutter иконка.

Версия v1.2.0

Отладка для PHP скриптов и PHPUnit тестов прямо в IDE, новое действие "Run Anything on Server", поддержка новых API тестов, автоматический импорт классов при создании KPHP Playground из кода и исправления ошибок.

Требует PhpStorm версии 2022.1 или выше.

Отладка PHP скриптов и тестов

Одна из главных возможностей IDE — удобно отлаживать код. До текущего момента запускать отладку PHP скриптов приходилось через консоль.

Однако теперь отладка доступна прямо в IDE через ее встроенные возможности!

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

Обратите внимание на необходимость файла ~/.php_debug и поднятого SSH туннеля.

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

Действие Run Anything on Server

Представьте, что вам нужно запустить какую-то команду на сервере и посмотреть результат ее выполнения. Нужно переключаться на терминал и набирать там команду. Это не удобно, поэтому мы добавили новое действие, которое позволяет быстро выполнить любую команду, не выходя из IDE.

Для её запуска нажмите ⇧⌘W (Shift+Cmd+W), в IDE появится всплывающее окно в котором можно написать команду.

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

Вы также можете найти это действие во вкладке Tool | Run Anything on Server.

Автоимпорт классов при создании KPHP Playground из выделенного кода

Обычно, когда вы хотите посмотреть на результаты работы кода в KPHP, вы хотите исполнить кусок кода в котором могут использоваться классы или статические методы.

Раньше приходилось импортировать классы вручную, однако теперь это будет происходить автоматически.

Переход к логам у вызова функции

Теперь у некоторых функций для дебажных логов появилась иконка в местах их вызовов. Через нее можно быстро перейти к просмотру логов на сайте.

Исправлено

  • Исправлены случаи, когда неправильно обрабатывались ошибки при git pull.
  • Исправлен баг, когда при первом запуске теста для класса через иконку рядом с классом, запускался тест для метода, для которого уже была конфигурация запуска.
  • Исправлено исключение, когда PhpStorm не может получить текст из бинарного файла.

Версия v1.1.0

Обновленный KPHP Playground, автоматическая перезагрузка Yubikey при проблемах подключения, автоматический пуш на после создания коммита, генерация билдеров прямо в IDE, новые возможности синхронизации автосгенерированных файлов и другие небольшие улучшения и исправления.

Обновленный KPHP Playground

Мы прислушались к вашим пожеланиям и сделали Playground независимым от файлов в репозитории.

Больше не нужно создавать файл, запускать его и удалять, когда вы хотите запушить в Gitlab.

Теперь Playground — это отдельное окно внутри IDE в котором расположены все необходимые элементы для запуска. В нем же отображаются результаты и ошибки компиляции.

Вы можете найти его во вкладке
Tools | KPHP Playground

Когда вы впервые откроете Playground, плагин автоматически сформирует нужные require, чтобы вы могли использовать любой код VKCOM.

Запуск выделенного блока через контекстное меню

Представьте, что вам нужно проверить, как отработает уже написанный блок кода, нужно его скопировать, открыть Playground и вставить код.

Теперь это можно сделать через действие Execute Selected in Playground в контекстном меню.

Также вы можете запустить выделенный код внутри var_dump, чтобы сразу увидеть вывод.

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

Автоматическая перезагрузка Yubikey при проблемах подключения

Часто ли вы сталкиваетесь с ситуацией, когда выполнение какой-нибудь команды в плагине заканчивалось тем что плагин показывал уведомление об ошибке подключения и вам приходилось идти в терминал и самому перезагружать Yubikey?

Теперь это больше не понадобится! Во всех уведомлениях о проблемах с подключением теперь есть действие, которое автоматически перезагрузит Yubikey и переподключится.

Пуш в Gitlab и на

Коммит и пуш в Gitlab в окне создания коммита

Отправляйте новый коммит сразу в Gitlab, плагин создаст коммит и отправит его в Gitlab через .

Автоматический пуш на после коммита

Не задумывайтесь о ручной синхронизации, теперь по-умолчанию, когда вы создаете новый коммит, плагин автоматически синхронизирует его с .

Работа с билдерами

Теперь вы можете легко создать конфигурацию и запускать генерацию билдеров прямо в IDE.

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

Обратите внимание, что если автосгенерированный файл был удален на в результате генерации, то он также будет удален и локально.

Другие улучшения

  • Теперь если есть выделение, Hastebin будет создан только из него.
  • Добавлено новое действие Sync Autogenerated Files в меню Tool | , которое позволяет легко синхронизировать автосгенерированные файлы после выполнения какой-либо команды на . Обратите внимание, если файл был удален на , то он будет удален и локально.
  • Улучшено диалоговое окно для синхронизации файлов.
    • Теперь файлы выводятся в отсортированном (по состоянию) виде.
    • Для файлов, которые находятся только в локальном репозитории, добавлена возможность удалить их.
    • Теперь полный путь к файлу отображается, начиная с ~/.
    • Теперь после нажатия кнопки загрузки файла с она будет начата сразу, а не после закрытия диалогового окна.
    • Теперь если файл находиться только локально или только на при просмотре его содержимого оно будет выводиться в простом просмотрщике, а не в diff просмотрщике с двумя редакторами.
    • Исправлен баг, когда при удалении файла из списка, фокус не переходил на следующий и необходимо было выбирать файл вручную.

Исправлено

  • Исправлено возникновение исключения AlreadyDisposedException при закрытии проекта и открытии других проектов. Также благодаря этому теперь при переключении проектов не ломается проверка синхронизации при фокусировании на IDE.
  • Исправлен баг со слешами во время синхронизации файлов на Windows.
  • Исправлен баг, когда во время выполнения KPHP закрытие одной вкладки приводило к закрытию другой.
  • Исправлен баг, когда при запуске PHPUnit через иконку около метода или класса, создавалась дублирующая конфигурация запуска для уже существующей.

Версия v1.0.0

Это первая стабильная версия плагина.

Возможности

  • Проверка синхронизированности локального репозитория и репозитория на
  • Дополнительные действия для пуша и пула с учётом хуков на
  • Различные конфигурации запуска KPHP
  • Конфигурации запуска PHPUnit и PHPLinter
  • Встроенный KPHP Playground и Hastebin
  • Возможность просматривать сгенерированный С++ код всего сайта