Всем привет! Мы рады представить вам третий мажорный релиз PhpStorm в этом году. Добавлены поддержка DQL, PHP CS Fixer, деплоймент на множество хостов одновременно, пулреквесты GitHub, новые рефакторинги и много других улучшений.

Обзор релиза можно посмотреть на странице “What’s new”. Скачать новую версию можно там же или с помощью Toolbox App. Как всегда, доступна 30-дневная пробная версия. Полную же версию могут использовать обладатели действующей подписки на PhpStorm или All Products pack, а также студенты и разработчики проектов с открытым исходным кодом.

Под катом обзор основных нововведений. (Осторожно, много картинок)

Поддержка DQL


Doctrine Query Language – это язык запросов объектной модели, который позволяет создавать запросы к базе данных, используя имена PHP классов и свойств. В PhpStorm 2018.3 реализована продвинутая поддержка DQL. Сущности и свойства работают как реальные ссылки и все соответствующие действия над ними тоже доступны: поиск использований, переход к объявлению, быстрое переименование, работа с ассоциациями (отношения) и многое другое.



Для обычной строки необходимо добавить инъекцию языка с помощью аннотации /** @lang DQL */. В случае если используется Nowdoc / Heredoc, то можно использовать маркер DQL.

В следующих версиях мы планируем развивать поддержку DQL, поэтому будем очень благодарны за ваши отзывы!

PHP 7.3


Финальный релиз PHP 7.3.0 ожидается уже 6 декабря, поэтому мы заблаговременно реализовали поддержку всех новых конструкций в PhpStorm: гибкий синтаксис Heredoc/Nowdoc, завершающие запятые в вызовах функций и методов, литералы в качестве первого операнда instanceof и присвоение с помощью list() по ссылке.



Справедливости ради стоит заметить, что поддержка PHP 7.3 доступна и в предыдущей версии 2018.2 начиная с обновления 2018.2.5.

Поддержка PHP CS Fixer


В PhpStorm уже была поддержка PHP_CodeSniffer, который помогает находить нарушения правил стиля кодирования. Однако исправлять эти ошибки вручную не так удобно. Особенно в большой кодовой базе или легаси-проекте. Теперь, с поддержкой PHP CS Fixer в PhpStorm, нужно лишь добавить PHP CS Fixer в качестве зависимости в composer.json и запустить composer install. Соответствующая инспекция в PhpStorm включится автоматически. После этого в файле с нарушениями правил можно запустить quick-fix, который сразу исправит все ошибки в файле.



Упрощенная настройка инструментов качества


В PhpStorm теперь есть поддержка трех инструментов: PHPCS, PHPMD, PHP CS Fixer. Для удобства мы объединили настройки всех инструментов на странице Preferences | Language & Frameworks | PHP | Quality Tools.

Автоматический выбор стандартов для PHP_CodeSniffer


На основе зависимостей вашего composer.json, PhpStorm автоматически определит следующие стандарты кодирования: Symfony, Doctrine, Drupal, WordPress, Joomla!, Magento, MediaWiki, Yii 2, and CakePHP.

Новые рефакторинги


Replace with Alias
Представьте, что у вас есть какой-то импорт, например use Foo\Bar. С помощью нового рефакторинга вы можете ввести алиас и заменить импорт, скажем, на use Foo\Bar as Baz, при этом все вхождения Bar будут заменены на Baz автоматически.



Доступно и обратное действие – Inline Alias, которое уберет избыточный алиас. Кроме того, алиасы теперь отображаются курсивом, чтобы их было проще отличить визуально от настоящих классов.

Change Class Member Visibility

С помощью этого рефакторинга можно быстро и безопасно изменить модификатор видимости метода или свойства (public / protected / private). PhpStorm проанализирует использования выбранного метода или свойства, и предупредит, если есть места, где изменение невозможно и вызовет ошибку.



Деплоймент на несколько хостов


PhpStorm поддерживает деплоймент на удаленную машину через FTP/SFTP/FTPS, или в примонтированную папку. Иногда может потребоваться скопировать файлы на множество хостов сразу. Например, если у вас несколько инстансов приложения, или части приложения расположены на разных хостах. В PhpStorm 2018.3 мы добавили группы серверов, чтобы решить эту задачу. Вы можете добавить сколько угодно групп, и в каждую из них добавить сколько угодно хостов. После этого при деплойменте выберите группу и файлы будут отправлены на все хосты группы одновременно.



Улучшения для функций форматирования строк


Работать с функциями printf() / sprintf() стало приятней благодаря подсветке плейсхолдеров и значений при наведении курсора. Также PhpStorm предупредит, если число параметров не совпадает с числом плейсхолдеров.

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

Пулреквесты GitHub


Теперь можно просматривать пулреквесты GitHub, не покидая PhpStorm. Выберите в меню VCS | Git | View Pull Requests, и откроется окно со списков пулреквестов вашего проекта. Тут же можно создать локальную ветку из пулреквеста.



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

Веб-технологии


PhpStorm включает в себя все нововведения и улучшения WebStorm, среди которых:

  • Автоимпорты в JavaScript
  • Улучшилась поддержка шаблонов Angular: стали точнее автодополнение и навигация
  • Поддержка Vuetify
  • Для React-приложений улучшено автодополнение, а механизм инспекций предупредит о неопределенных компонентах

Подробнее обо всех улучшениях от команды WebStorm – на сайте.

Улучшения IDE


Search Everywhere

Если вам нужно что-либо найти, нажмите Shift-Shift и начните печатать. В обновленном диалоге поиска Search Everywhere добавлены табы для поиска по классам, файлам, символам и IDE (настройками и доступным действиям). Переключать области поиска можно нажатием Tab.



Новая высококонтрастная тема для людей с ограниченными возможностями.



Из приятных мелочей:

  • Многострочные TODO комментарии
  • Многострочный поиск в Find in Path
  • В терминале теперь после закрытия PhpStorm сохраняются имена открытых табов и текущие рабочие директории!

Базы данных


Как всегда, PhpStorm включает в себя все фичи от команды DataGrip:

  • Поддержка Cassandra (а еще, начиная с 2018.2.2, и ClickHouse)
  • Масса улучшений в автодополнении
  • Поддержка расширений PostgreSQL
  • Возможность быстро задавать псевдонимы таблиц

Прочие улучшения


  • В окне отладчика теперь можно быстро найти переменную, просто начав печатать её имя.
  • При запуске HTTP-запросов автоматически создаются и конфигурации запуска. Такие конфигурации можно также создавать вручную.
  • При разработке PHPUnit-тестов появилась возможность генерировать тестовые методы, а также методы setUp и tearDown, запускаемые перед и после теста, соответственно.
  • PhpStorm 2018.3 автоматически настроит среды тестирования (PHPUnit, Codeception, Behat, PHPSpec) на основе composer.json и файлов конфигурации, а также создаст соответствующие конфигурации запуска.

Пожалуй, это все, о чем мы хотели бы вам рассказать. Но это далеко не все, что вошло в релиз. Полный список изменений, как всегда, можно найти в очень большом release notes. Сообщайте о проблемах в нашем трекере, ну или просто оставляйте свои комментарии под этим постом или в нашем блоге.

Спасибо за внимание!
Команда JetBrains PhpStorm

Комментарии (81)


  1. berezuev
    23.11.2018 17:08
    +3

    Пулреквесты GitHub

    А не планируется такое реализовать для self-hosted битбакета и гитлаба?

    Обновление отличное!


    1. pronskiy Автор
      24.11.2018 14:16

      Для битбакета и гитлаба пока в планах нет, к сожалению.


  1. filkt
    23.11.2018 17:12

    Нет скидок в честь черной пятницы?


    1. iborzenkov
      23.11.2018 20:22
      -8

      Неа, еще и кряк сломали, сегодня пришлось новый искать.


      1. SerafimArts
        23.11.2018 21:49
        +8

        — JetBrains делает крутой продукт?
        — Вы деньги с помощью него зарабатываете?
        — JetBrains сделали совершенно бесплатную версию для опенсорса и студентов?
        — JetBrains сделали совершенно бесплатную EAP версию, которую надо лишь раз в месяц обновлять?
        — А если уж и опенсорс не пилите, не студент, не хотите поучаствовать в тестировании на триальной версии и накатать фидбек, то цена в 100$ в год — это разве огромные деньги?

        Что вам, ?, не хватает, чтобы просто купить лицензию у наших коллег из Спб? Не, ну серьёзно? Расскажите свои идеи, тут есть (внезапно!) разработчики из JetBrains, возможно к вам прислушаются.


        1. iborzenkov
          23.11.2018 22:06
          -5

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


        1. Akuma
          24.11.2018 02:06

          Эм. Откуда 100 баксов в год то?
          Вот я сегодня как раз продлял лицензию — $5.3 на месяц. 63,6 за год.


          1. SerafimArts
            24.11.2018 19:03

            Ну я нечто среднее взял от цены персональной и корпоративной.


        1. edogs
          24.11.2018 02:07
          +1

          Не совсем в тему, пиратку не используем, пользуемся в том числе и другими ИДЕ, но мы честно говоря тоже надеялись на скидки в черную пятницу, поэтому ответим на Ваш пост пользуясь случаем, может действительно прислушаются.
          ** Маркетинг у ДжетБреинса не юзер-френдли сейчас.
          Крутой продукт делает, но есть равнозначные с технической точки зрения конкуренты, а есть и лучше. Так что это не аргумент.
          а) Что бы зарабатывать с помощью него деньги его надо сначала купить, лицуху для опенсоурса можно получить лишь сначала сделав опенсоурс проект с помощью чего-то другого. Нам этот момент неактуален, но знакомым которых мы заманиваем на фриланс он существенен. Т.е. тут телега впереди лошади, не юзер-френдли.
          б) Про EAP версию не знали, спасибо кстати, но опять же, почему мы об этом узнаем с хабра, а не с сайта. Не юзер-френдли.
          в) Вечная лицензия. Вечность эта отчасти маркетинговая, т.к. нужны обновления. Вот директадмин мы купили в каком-то дряхлом году и всё работает. А тут не юзер-френдли.
          г) Вечная лицензия часть два. Окей, пункт В можно проглотить, многие так делают. Но елы палы — обновление лицензии стоит 89 баксов, новая лицензия стоит 89 баксов. Тут уже не просто отсутствие юзер-френдли, тут отсутствие логики.
          д) Прошлый раз хотели продлять писали на мыло, мол нет ли скидок все дела. В ответ — нет не фига, ок, их право. Продлили как есть (у нас несколько лицензий, одну приходится поддерживать свежей). На следующий день буквально через несколько часов хоба — то ли день программиста то ли еще чего — скидки 50%. Написали на мыло мол — ладно, Вы наверное за пару часов о скидках не знали, нельзя ли все же переоформить заказ с текущей скидкой? Ответ был не юзер-френдли.
          е) Ну и наконец скидки на черную пятницу. Мы их что зря ждали что-ли? Положено делать! Не юзер-френдли:)))

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


          1. t_kanstantsin
            24.11.2018 02:52
            +1

            а) "лицуху для опенсоурса можно получить лишь сначала сделав опенсоурс проект" — а где-то иначе? Или компания должна за "красивые глазки" всем подряд верить наслово и раздавать "опенсорс" лицензии?
            б) 6 из 10 последних новостей в блоге phpstorm'a о eap и preview версиях. Или их блог — уже не "с сайта"?
            в) "обновление лицензии стоит 89 баксов, новая лицензия стоит 89 баксов." Серьёзно? Уже года 2 как ввели "вечную лицензию" и подписку, и она изначально была с дифферинциацией цены в зависимости от времени ипользования. Так что явное незнание предмета разговора, либо намеренная ложь. Вот информация не "с хабра", а вполне "с сайта":
            US $89.00 / 1st year
            US $71.00 / 2nd year
            US $53.00 / 3rd year onwards
            е) "Мы их что зря ждали что-ли? Положено делать!" Ок, сейчас как все "порядочные" люди только цены поднимут в 2 раза, там и скидка 40% подтянется.


            1. edogs
              24.11.2018 03:41
              -1

              а) Есть смысл верить, потому что обманщики воспользуются хаком. Но речь о другом — ребята хотят подсадить на свою ИДЕ, но маркетинг отдел говорит «неее, сначала поставьте другую ИДЕ, подсядьте на конкурентов, а вот потом...». Не юзер-френдли, да и не логично.
              б) Инфа о возможных версиях для скачки должна быть в месте где идет скачка, а не «где-то в блоге». Иначе это не юзер-френдли.
              в)

              Так что явное незнание предмета разговора, либо намеренная ложь. Вот информация не «с хабра», а вполне «с сайта»:
              Виноват всегда Ваш собеседник, или одним способом или другим? То что собеседник говорит правду не допускаете даже в качестве маловероятного варианта?
              image
              С интересом ждем объяснения скриншота (продление нашей вечной лицензии в корзине в ЛК) в рамках Вашей бинарной теории.
              е) Существует традиция делать скидки в черную пятницу, реальные скидки. Многие этого ждут. Юзер-френдли делать скидки в этот день. Не юзер-френдли из-за пары «порядочных» продавцов отменять эту традицию.

              Пожалуйста, учитывайте, что мы говорим лишь в «юзер-френдли» контексте.
              Имеет ли право компания не делать скидок в черную пятницу или делать цену продления пусть даже дороже цены покупки? Конечно имеет, никто этого не отрицает. Мы лишь говорим о том, что это не юзер-френдли, т.к. первого все-таки ждут, а второе не вполне логично. И то же по остальным пунктам.


              1. t_kanstantsin
                24.11.2018 12:51
                -3

                а) берёшь EAP версию, доступную бОльную часть времени, стартуешь разработку опенсорса — получаешь опенсорс версию. Эти стенантия по поводу "нам не дали бесплатную версию" выглядят глупо. А мифическое "это не юзерфрендли" — звучит как "мне все должны".
                По моему мнению, опенсорс лицензию (1+) нужно выдавать компаниям, где выделено 1+ человек только на опенсорс проекты. Т.к. если я что-то выложил на гитхаб и делаю изменения раз в неделю, то я не занимаюсь полноценно опенсорсом, а опенсорс-лицензию использую в коммерческих целях (для работы).
                в) Возможно, я придираюсь, но где на скриншоте показана предыдущая подписка? Или условия, как и документацию, читают в последнюю очередь? Уменьшение стоимости подписки происходит при непрерывной покупке (это кстати, разжёвывалось с самого начала). Подозреваю, подписка, благодаря которой получена perpetual лицензция, закончилась ДО 23 ноября 2018.
                А если не было перерыва и стоимость выше, той, что приведена на сайте, то смысл жаловаться на хабре вместо того, чтобы обратиться в техподдержку?


                1. edogs
                  24.11.2018 13:43
                  +1

                  а) Эти стенантия по поводу «нам не дали бесплатную версию» выглядят глупо. А мифическое «это не юзерфрендли» — звучит как «мне все должны».
                  Нам жаль что Вам «звучат» «стенания» и «долженствования», смеем заверить Вас, что это именно Ваше восприятие.
                  Мы лишь сказали о том, что текущая маркетинговая позиция не юзер-френдли.
                  Выкатить бесплатную ЕАР версию и спрятать инфу о ней.
                  Выкатить бесплатную версию для опенсорса и не сделать ее доступной для начала разработки опенсорса.

                  в) Возможно, я придираюсь, но где на скриншоте показана предыдущая подписка? Или условия, как и документацию, читают в последнюю очередь?
                  Мы указали на факт, что если «обновление лицензии стоит 89 баксов, новая лицензия стоит 89 баксов», то прописанность этого в условиях отнюдь не делает это юзер-френдли или хотя бы логичным.
                  Вы сами-то стали бы продлять лицуху за 89 баксов, если есть возможность купить новую за те же деньги?


              1. MTyrz
                25.11.2018 17:00

                ребята хотят подсадить на свою ИДЕ, но маркетинг отдел говорит «неее, сначала поставьте другую ИДЕ, подсядьте на конкурентов, а вот потом...»
                Вот поддержу.
                Знакомый, который PHP только учит, передает пламенный превед из NetBeans'а. При обучении, когда окупаемость не особо-то понятна и предсказуема, а сто (извините, восемьдесят девять) долларов — вполне себе сумма, на них неделю жить можно…


                1. pronskiy Автор
                  25.11.2018 17:17

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


                  1. MTyrz
                    25.11.2018 18:19

                    Предложить можно, да.
                    Возможно, вы просто не помните или не сталкивались со спецификой подобного обучения. Когда с нуля, и непонятно когда начнет окупаться, и в условиях, скажем так, финансовой недостаточности. Платное (вообще неважно насколько, это в очень изрядной степени психологический момент) и удобное versus бесплатное, но возможно, не такое удобное — в этих условиях вопрос даже не поднимается.

                    Вот когда пойдут заработки — вот тогда, и если удобство PhpStorm окажется привлекательнее усилий, требуемых на поломку опыта работы с NetBeans…
                    Я просто помню момент выбора IDE для обучения, его со мной активно обсуждали. Вариант Community edition с несколько усеченной функциональностью был бы принят, на этапе обучения больших наворотов не нужно.
                    Но… у PyCharm Community edition есть, у IDEA есть, у VS от Майкрософта есть: а конкретно у PhpStorm отсутствует.

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


                    1. SerafimArts
                      25.11.2018 19:05

                      Хм, кажется у JetBrains есть триальный вариант на месяц. Кажется, это вполне годное решение.


          1. OnYourLips
            24.11.2018 16:53
            +3

            Как по нам — так phpstorm нечто среднее между zendstudio и nusphere phped, более легкий чем первое, более функциональный чем второе.
            ИМХО он на голову выше по функциональности, чем ZS.


            1. edogs
              24.11.2018 19:31
              +1

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


          1. moscas
            26.11.2018 20:06
            +1

            Про ЕАП на сайте всегда написано во вкладке Coming in next version. До послезавтра она еще доживёт у ДатаГрип, например =) www.jetbrains.com/datagrip
            Плюс, мы пишем о EAP в своих рассылках, в блогах, в твиттерах, куда уж больше.


  1. SerafimArts
    23.11.2018 17:17
    +1

    А можете, пожалуйста, подсказать: Куда делась тема GTK из Appearance? Она была на порядки привычнее и приятнее, нежели текущая.

    Скриншоты
    Intellij: Ползунок из 2000х годов:


    Intellij: А это оказывается «табы». Найдёте их?:


    Intellij: Кнопки


    GTK: Для сравнения, мои системные кнопки и неактивный ползунок


    GTK: Табы и активный ползунок:


    Ну т.е. очевидно, по скринам, что тема IntelliJ — плоха.


    1. SerafimArts
      23.11.2018 17:59
      +1

      P.S. Полное сравнение интерфейса:

      Скриншоты
      До


      После


    1. molchanoviv
      24.11.2018 00:26
      +1

      Блин. Они серьёзно удалили тему ГТК? Походу придется теперь вечно сидеть на текущей версии шторма. Новые фичи конечно клевые. Особенно поддержка DQL, но я не готов жертвовать своими глазами из-за них. Ибо остальные темы у них просто уродские. Глаза от них так и вытекают. JetBrains верните тему GTK!


      1. SerafimArts
        24.11.2018 02:23

        Мне тут в кулуарах подсказали, что плагинчик «Material UI» вполне себе сносный. Накатал… И действительно, вполне годно:

        Заголовок спойлера


  1. Murmurianez
    23.11.2018 17:19
    +3

    «В терминале теперь после закрытия PhpStorm сохраняются имена открытых табов и текущие рабочие директории!»

    Я этого джва года ждал. Наконец-то спасибо!


    1. Akuma
      23.11.2018 17:25

      Остальные обновления можно даже не читать. Ух, наконец-то.

      А может еще подскажете, как «обновить» path в терминале шторма?
      Имею ввиду, если PATH обновится, то эти изменения обычно вступают в силу после перезапуска терминала. Так работает с обычным cmd, но перезапуск Шторма ничего не дает. Как-то можно это победить?
      Win10Pro


      1. pbatanov
        23.11.2018 17:29
        +1

        Вы часом не запускаете шторм из toolbox app? В таком случае перезапустить надо еще и его, т.к. по факту родительский процесс получается он (выявлено экспериментальным путем, могу ошибаться в сути объяснения)


        1. Akuma
          23.11.2018 17:39

          Как все просто оказывается. Спасибо )


  1. web24pw
    23.11.2018 21:34

    Спасибо за продукт, очень нравиться! Единственное не могу понять почему такой медленный FTP клиент? Мне могут возразить что FTP это старый протокол, но с SFTP все точно также.


  1. zein
    23.11.2018 21:36

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


    1. benbor
      24.11.2018 00:24
      +1

      Haters gonna hate :)
      Контекстное меню -> Refactoring -> rename по папочке или по неймспейсу работает отлично -находит все Usages и переписывает
      Про консоль четсно говоря не понял. Но хочу отметить, что у JetBrains самая адекватная поддержка, так что создайте тикет, и если за него проголосуют, вас без внимания не оставят ;)


  1. zhulan0v
    23.11.2018 21:46

    Всё круто, но где же скидки?)


    1. n1ger
      24.11.2018 11:14

      Присоединяюсь к вопросу


    1. pronskiy Автор
      24.11.2018 14:07

      В этом году были 50% скидки на день дружбы :-)


      1. zhulan0v
        24.11.2018 18:47

        когда следующие будут?


        1. pronskiy Автор
          24.11.2018 19:35

          JetBrains не анонсирует скидок заранее, поэтому тут ничего не могу сказать.


  1. SamDark
    23.11.2018 23:38

    Вот думаешь что уже нечего улучшать (я все свои хотелки реализовал ещё когда шторм только перестал называться Web IDE), ан нет, удивляете. Всегда хотелось узнать, как выглядит процесс придумывания новых фич и улучшений? Где-то про это уже рассказывали?


    1. OnYourLips
      23.11.2018 23:51

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


      1. SamDark
        24.11.2018 00:03

        Да, но самые крутые штуки придуманы, судя по всему, в недрах.


    1. neuro159
      26.11.2018 21:03

      Спасибо )
      Догфуддинг, перенос своих ручных процессов (тех что требуют много шагов или блокнота) в IDE, кросс опыление от других экосистем, фидбек)


  1. SDKiller
    24.11.2018 00:15
    +1

    График релизов похоже сдвинулся, декабрь на носу. Через месяц 2018.4 ждать?


    1. pronskiy Автор
      24.11.2018 14:00

      Начиная с 2016 года выходит 3 мажорных релиза в год, то есть приблизительно раз в 4 месяца. 2016.3 и 2017.3 также выходили в ноябре. То есть следующая мажорная версия будет 2019.1.

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


  1. aliev
    24.11.2018 00:27

    Хотел спросить почему есть отличия WebStorm в мак версии и в linux версии?
    Например в linux версии я не могу найти вкладку version control


    1. awd-studio
      24.11.2018 13:32

      Alt + 9 || View > Tool Windows


  1. nefone
    24.11.2018 02:02

    спасибо! уже обновился


  1. magicstream
    24.11.2018 12:41

    терминал не определил коректный текущий путь папки проекта. почему выбрано такое решение?


    1. pronskiy Автор
      24.11.2018 13:44

      По умолчанию терминал должен открываться в текущей директории проекта. Если проблема повторяется, напишите пожалуйста в поддержку intellij-support.jetbrains.com/hc/en-us/community/topics/200367219-PhpStorm


  1. khazhinov
    24.11.2018 13:32
    -2

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

    Было бы очень неплохо ещё чуть-чуть расширить функционал вкладок терминала. Например, добавить возможность конфигурирования отдельных вкладок или что-то вроде скриптов, чтобы можно было не просто сохранять путь вкладки, а так же выполнять команды при запуске.
    В большинстве проектов я использую Vagrant для поднятия нужных мне виртуалок и при запуске IDE я как правило сначала выполняю ряд рутинных задач, вида: «открыть такую-то папку, запустить такую-то машинку, подключиться к ней по SSH, перейти в папку проекта на машинке и блаблабла».
    Если есть какие-то плагины, дающие возможность реализовать подобный функционал, буду очень рад комментариям.

    p.s. есть маленький lifehack для студентов(и не только), желающих получить полный набор софта от JetBrains за бесплатно
    image
    Это классический студенческий набор, который поставляется вместе с предоставлением студенческого. Но есть одна особенность. Валидацию на студента можно проходить не только в JetBrains, но и на GitHub ТЫК
    Почему я говорю, что не только студенты могут воспользоваться привилегией? Всё благодаря тому, что при прохождении валидации на сайте JetBrains к проверке относятся достаточно ответственно, чего не сказать о GitHub. Как-то с товарищами тестировали получение этого студенческого набора без студенческого билета, используя фотографии перваков, которые любезно выкладывают фотографии своих студенческих в социальные сети, помечая их тонной тегов для удобного и быстрого поиска.
    После подтверждения статуса студента на GitHub Education, переходим по ссылке ТЫК и дальше всё интуитивно понятно.
    Конечно, этот способ не должен стать примером того, как нужно делать и вообще так делать не стоит, но… Для разработчиков, которым не хватает средств на покупку лицензии, это хороший выход и хоть какая-то возможность пользоваться действительно крутыми IDE без возни с кряками и прочим шлаком.

    story: Переехал на PhpStorm летом этого года и влюбился. Когда-то давно попробовал им воспользоваться и тогда мне данная IDE показалась до жути не удобной и слишком тяжелой. Покупка нового ПК перевернула взгляд на PhpStorm в лучшую сторону, ибо теперь я могу работать одновременно с несколькими виртуальными машинами, браузером и IDE, не теряя ни капли производительности. Заложенный в PhpStorm DataGrip стал для меня крайне приятной особенностью, т.к. во время разработки крайне удобно использовать автоподстановку в SQL-запросах в проектах, где не убежать от сложных названий таблиц и полей. Расположение на экране элементов делает разработку приятной, не превращая экран в билборд, от которого рябит в глазах. На очень даже компактно помещаются: дерево файлов, окно редактора, окно DataGrip и терминал, особенно когда узнаешь парочку самых горячих комбинаций клавиш.
    Одним из самых решающих для меня факторов стало то, что 95% функционала, который нужен при разработке, заложено из коробки и необходимость что-то докачивать/настраивать настигает крайне редко.


    1. OnYourLips
      24.11.2018 19:52

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

      Для разработчиков, которым не хватает средств на покупку лицензии
      Можно подрабатывать. Грузчиками, уборщиками в макдональдсе. Или просто использовать EAP.


  1. Cttr
    24.11.2018 13:37
    +1

    Доброй ночи, хотелось бы запускать composer.phar через PHP интерпретатор, который является контейнером. Когда ожидать?

    It's not supported yet


    1. pronskiy Автор
      24.11.2018 13:41

      Это есть в планах, но в какой конкретно версии будет сделано пока не могу сказать.
      В качестве обходного пути можно использовать Preferences (Settings) | Tools | Remote SSH External Tools


  1. adminkoo
    24.11.2018 15:40

    Шел 2018 год

    • Wordpress называют фреймворком, делают нативную поддержку, Laravel нет
    • Deploy over FTP


    1. pronskiy Автор
      24.11.2018 15:45


      1. SerafimArts
        24.11.2018 16:35

        каким критериям фреймворка он не соответствует?

        Полноценный фреймворк — это набор компонентов, упрощающий реализацию какого-то проекта, допускающий ограничений разработчика в способе разработки, но не ограничивающий вообще никак в цели проекта (т.е результат).

        Например, Laravel можно использовать для разработки standalone-приложения с полноценным GUI на каком-нибудь Qphp. Или внутри игрового движка. При этом, 90% его возможностей можно без проблем применить. Тоже самое можно сказать и о Symfony или Zend, например.

        Можно ли Wordpress использовать для этого же?


        1. pronskiy Автор
          24.11.2018 17:50

          Соглашусь, что области применения WP уже, чем Laravel/Symfony/Zend.
          Но с тем, что фреймворк не может ограничивать цели не могу согласиться. Даже те же Symfony и Laravel прежде всего позиционируются как фреймворки для веб-приложений. Ну а на WP есть вполне успешные примеры разнообразных штук: WooCommerce, BuddyPress, bbPress.
          То есть да, для игрового движка не стоит использовать, но почему это не набор компонентов, упрощающий реализацию какого-то проекта, допускающий ограничений разработчика в способе разработки?


          1. SerafimArts
            24.11.2018 19:15

            А это риторические вопросы или нет?

            Ну просто тогда давайте всё что угодно называть фреймворком. Ну вот хабр, например, это фреймворк для написания постов. Просто область применения у него уже, чем у вордпресса… А вот Windows — это тоже фреймворк. Ну и конечно же процессор. Целый хардварный фреймворк!

            И прошу заметить, даже утрируя, в целом — это всё так.

            Короче, к чему я веду. Давайте называть вещи тем, чем принято называть в обществе. В плюсах, например, фреймворками называются те вещи, которые являются частью стандартной библиотеки языка в другой. В JS фреймворки аналогичны по функционалу библиотечкам из PHP. А в PHP, в 2018ом году — это слабосвязанное, переиспользуемое, комплексное решение, в котором нет ни одной зависимости от фронта, или его можно просто удалить, ничего при этом не поломав. Которое, повторюсь, не ограничивает результат, который требуется достичь.


    1. pronskiy Автор
      24.11.2018 15:50
      +1

      Для Laravel же есть отличный плагин plugins.jetbrains.com/plugin/7532-laravel-plugin
      Есть пожелания чего конкретно не хватает по Laravel?


      1. CAJAX
        25.11.2018 03:06

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


        1. pronskiy Автор
          25.11.2018 14:06
          +1

          А IDE helper добавили? github.com/barryvdh/laravel-ide-helper


      1. alexey-m-ukolov
        26.11.2018 12:02

        Да много чего, на самом деле, не хватает:
        1. Понимание кастомных директив в шаблонах (приходится оборачивать в #formatter:off).
        2. Подсказка обработчиков события в классе этого события, по аналогии с классами-наследниками.
        3. Нормальная работа с фасадами без необходимости прыгать сквозь laravel-ide-helper.
        4. Более тесная интеграция с роутингом — если его разбить на файлы в крупном проекте, то перестаёт работать переход к экшену и подсказки для route().

        В целом плагин очень сильно помогает, но много рутины всё равно приходится делать руками. Для небольшого проекта он идеально подходит, а с чем-то более серьёзным уже не справляется.


  1. alexshelkov
    24.11.2018 16:22

    Почему то сломалось переключение окон в полноэкранном режиме на маке. Раньше работало по CMD+~, а сейчас ничего.


    1. alexshelkov
      24.11.2018 16:25

      Вообще много проблем возникает именно в полноэкранном режиме:
      — Часто теряется фокус, например когда нужно перезаписать файл, окно всплывает на основном десктопе
      — То же самое при других операциях, например при пуше когда есть конфликты, алерт может где то потеряться


      1. pronskiy Автор
        25.11.2018 13:59

        Если есть шаги воспроизведения, заведите, пожалуйста, тикет в трекере youtrack.jetbrains.com/newIssue?project=WI
        или просто напишите в поддержку intellij-support.jetbrains.com/hc/en-us/community/topics/200367219-PhpStorm обязательно поможем разобраться


        1. alexshelkov
          25.11.2018 19:53

          Ок, вот youtrack.jetbrains.com/issue/WI-44324?project=WI написал подробно о проблеме и добавил видео.


          1. pronskiy Автор
            25.11.2018 20:11

            Спасибо большое за детальное описание!


    1. pronskiy Автор
      25.11.2018 13:53

      Возможно ошибаюсь, но разве это не дефолтное поведение? Попробовал с окнами Chrome и других приложений и наблюдаю то же самое: в полноэкранном Cmd+~ не работает.


      1. alexshelkov
        25.11.2018 19:34

        Хм, вы правы, странно просто до версии 2018.3 CMD+~ работала и я как то за годы к этому привык. Наверно нужно покопаться в настройках MacOS.


  1. adeptoleg
    24.11.2018 16:54
    +1

    Вот кстати идея для следующего апдейта: есть настройка ssh соединения часто через такой же туннель настраивают доступ к базе данных. Добавьте плз в настройку туннеля кнопку скопировать настройки с существующего соеднения ssh а не только базы данных.


    1. pronskiy Автор
      25.11.2018 14:03

      Спасибо за идею, будет реализовано в рамках задачи youtrack.jetbrains.com/issue/IDEA-178389


      1. adeptoleg
        26.11.2018 20:39

        Благодарочка! И раз такая пьянка пошла то вот ещё один нюанс: много разных автоматических сборщиков при деплое проекта для директорий логов медиа итд… использует символические ссылки(что знатно екномит пространство) но вювер из Remote Host их не обрабатывает (дичайшие бесит и у кого как но лично у меня вызывает «бомбление пукана» способное вызвать колебание грунта от 1 до 3 балов по шкале рихтера :) ). Я уже давно покупаю лицензии на все продукты и честно просто не знаю как стимулировать дополнительно. но вот ели ктонибуть поправит это в ближайшее время с меня прямо взрослый ЛИТР Guinness-а


  1. Kicker
    24.11.2018 21:36

    Вопрос на засыпку, на маке не работает копирования файлов внутри шторма, когда выделяешь файл, делаешь cntr+c и cntr+v ничего не происходит :( Но если копируешь из файдера, то все ок.
    У меня у одного такая проблема?


    1. pronskiy Автор
      25.11.2018 13:46

      Cmd+C/Cmd+V работают. Если у вас ничего не происходит, то возможно какой-то хитрый баг. Напишите пожалуйста в поддержку intellij-support.jetbrains.com/hc/en-us/community/topics/200367219-PhpStorm


  1. nickita222a333
    25.11.2018 13:43

    Справедливости ради стоит заметить, что поддержка PHP 7.3 доступна и в предыдущей версии 2018.2 начиная с обновления 2018.2.5.

    Очень интересно, что самого PHP 7.3 ещё нет, а его поддержка уже введена.


    1. SerafimArts
      25.11.2018 16:35

      Не понял этого тезиса чуть-чуть. Ну т.е. логично, что фичи заранее внедряются. Подозреваю, что уже идёт работа над поддержкой 7.4.


      1. nickita222a333
        26.11.2018 15:46

        Извините, просто недавно познакомился с IDE и конкретно с PhpStorm. Поэтому то, что фичи добавляются заранее приятно удивило


        1. SerafimArts
          26.11.2018 20:18

          Ну, учитывая откровенно не полную поддержку PHP — тот факт, что добавляют поддержку пары дополнительных кейвордов и функций (что добавляются в 7.3) кажутся откровенной фигнёй, на которую можно не обращать внимания.

          Я вот всё жду, когда шторм перестанет вставлять use перед declare и ломать исходники, поддерживать автокомплит для корутин, не светиться красным на self в тайпхинтах, говоря, что тут синтаксическая ошибка. Не кричать о некорректных тайпхинтах, которые он сам же и сгенерировал (в вариадик аргументах в частности). Не говорить о том, что private метод в трейтах не используется, а значит его надо удалить. Не косячить с докблоком "@mixin". Не сходить с ума, в анонимных классах и сменах конекстов через bind/bindTo/call анонимок… Короче, жду, когда они завезут наконец поддержку PHP 5.4+ =)


  1. Kolbasyatin
    25.11.2018 13:44

    При изменении названия классов в Symfony не меняются названия классов в определенных ранее сервисах (по крайней мере в 2, 3 версиях). От этого грустно.


  1. poluhovich
    25.11.2018 13:44

    У вас линк на покупку Webstorm на словосочетании «действующей подписки»


    1. pronskiy Автор
      25.11.2018 13:44

      Спасибо, поправил


  1. istepan
    26.11.2018 07:47

    В i3wm при переключении между рабочими областями (несколько мониторов) пропадает курсор ввода.
    Очень надеюсь что в ближайшие 10 лет пофиксят. Спасибо!


  1. stryaponoff
    26.11.2018 08:38

    Интересный баг (?) у меня наблюдается под виндой, вторую версию подряд. Встроенный терминал (в подавляющем большинстве случаев, но не всегда) открывается вот в таком виде:


    Скриншот