company_banner

Новый PhpStorm 6.0 облегчает работу с Composer и другими инструментами

    Вышел PhpStorm 6.0. Мы делали его для того, чтобы вы писали код еще качественнее, еще проще, еще быстрее.

    (кстати, молодец La2ha, что решил опубликовать новость о релизе на Хабре раньше нас, а то мы тормозим очень стараемся все внимательно проверить, прежде чем публиковать)

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



    Composer


    Composer — это набирающий популярность менеджер зависимостей для PHP. В PhpStorm 6 его поддержка включает:
    • создание новых проектов с использованием Composer и его загрузкой с getcomposer.org при помощи IDE;
    • инициализация Composer'a в существующем проекте;
    • управление пакетами и зависимостями через удобный графический интерфейс;
    • работу с Composer'ом в командной строке (включая автодополнение команд) внтури IDE.


    image

    Code (Re)arranger


    Code (re)arranger — не путать с реформаттером кода! — это настраиваемый инструмент, позволяющий корректно менять местами элементы кода, собственного или сгенерированного PhpStorm, для облегчения его читаемости и навигации по нему (важно для ООП в PHP). Например, вы можете назначить порядок следования элементов — все методы после определений свойств объектов или собрать вместе методы, зависящие друг от друга.

    image

    Новый редактор для баз данных


    В PhpStorm есть собственный редактор схем баз данных, который также доступен в RubyMine и IntelliJ IDEA Ultimate Edition.

    Поддерживается работа с широким спектром СУБД, в том числе MySQL, PostgreSQL, Oracle и DB2. Технически можно подключить любую СУБД, для которой есть коннектор jdbc.

    Редактор позволяет:
    • добавлять, удалять и переименовывать таблицы, колонки, ключи и индексы для БД;
    • изменять определения для процедур, пакетов и представлений, с подсказками для кода;
    • генерировать схемы миграции SQL для различий между выбранными таблицами или БД — с помощью Diff Tool;
    • использовать множество других возможностей, среди которых ручное управление транзакциями, экспорт таблиц, улучшенная поддержка диалектов SQL.


    image

    Другие новшества


    Кроме того, стоит отметить появление новых рефакторингов (Change Signature, Pull members Up / Push members Down, Move class to another namespace), полностью конфигурируемых шаблонов (включая PHPDoc), увеличенное количество инспекций кода и лучшее предотвращение ошибок времени исполнения, что помогает писать безошибочный код.

    PhpStorm 6 также включает функционал сворачивания кода в шаблонах Twig для блоков и контрольных структур; улучшения подсистем отладки и тестирование приложений; Drag&Drop и Copy&Paste для файлов и директорий при работе с удаленными хостами; поддержку PHP Mess Detector, и многое другое.

    Облегчение веб-разработки


    Некоторые новшества PhpStorm вам могут быть знакомы, если вы уже попробовали WebStorm 6 или читали статью про него на Хабре: мы улучшили отображение структуры HTML и CSS (просмотр по Ctrl+F12), а в редактор добавили поддержку Emmet (a.k.a Zen Coding).

    Кроме того, как и в WebStorm, в PhpStorm 6 появился встроенный клиент REST, и теперь при создании RESTful-приложений запросы (например, GET, POST и PUT) можно делать напрямую из PhpStorm через меню Tools | Test RESTful Web Service. Примеры использования встроенного клиента REST есть в нашем блоге

    image

    Для автоматической компиляции Sass, LESS, SCSS в CSS, а CoffeeScript или Typescript — в Javascript, вы можете воспользоваться встроенным плагином File Watchers.

    В PhpStorm поддерживается отладка CoffeeScript, TypeScript и Dart с использованием source maps. Минифицированные файлы .js тоже можно отлаживать с помощью source maps.

    Отметим, что весь функционал WebStorm доступен в PhpStorm (некоторые компоненты не устанавливаются по умолчанию и доступны в виде бесплатных плагинов).

    Open API для разработки плагинов к PhpStorm


    В PhpStorm 6.0 появился открытый API, расширяющий поддержку PHP при написании внешних плагинов. Уже существуют плагины к PhpStorm для разнообразных фреймворков, и мы хотим облегчить жизнь их разработчикам. Скоро мы расскажем об этом подробнее.

    Внешний вид



    image

    По мере обновления всей линейки IDE от JetBrains все большее количество пользователей начинают работать с темной цветовой схемой Darcula. Новый PhpStorm 6 и этим вас порадует.

    Что дальше?


    Качайте, пробуйте. 30-дневный пробный период прилагается.

    Обновление до версии 6 бесплатно для всех, кто приобрел лицензию после 12 марта 2012 года.

    Нашли баг? О багах сообщайте нам в трекер, пожалуйста! Если в трекере уже есть сообщение о похожей ошибке, проголосуйте за него: это помогает понимать, насколько неприятна ошибка.
    JetBrains
    177,69
    Делаем эффективные инструменты для разработчиков
    Поделиться публикацией

    Комментарии 89

      0
      Скажите, если я приобретал лицензию в ноябре 2011, то могу ли я продлить ее или придется покупать новую?
        +2
        Продлить лицензию можно в течение года после того, как закончилась лицензия. Но при этом отмечу, что продление будет действовать с даты окончания предыдущей лицензии.

        Т.е. продлив сейчас лицензию, приобретенную в ноябре 2011, вы получите срок действия лицензии до ноября 2013.
          0
          Понятно. А каким образом это можно сделать? Что-то я не нашел на вашем сайте личного кабинета, куда можно залогиниться и посмотреть свои лицензии.
            +3
            Нужно зайти на www.jetbrains.com/phpstorm/buy/index.jsp и нажать renew — там ввести имеющийся ключик, который хочется продлить и по нему можно продолжить с обновлением.
              0
              … и помните: у Jet Brains случаются очень крутые распродажи со скидками.

              За день до Конца Света, можно было купить годовое обновление с 75% скидкой.
          0
          Судя по написанному в тексте вам придется покупать новую лицензию.
            0
            Новую, при продлении лицензии она продлевается от окончания вашей, увы
              0
              Можете бесплатно обновляться в течении года. Соответственно для вас период бесплатного обновления закончился в ноябре 2012.
              +14
              Спасибо, отличная IDE.
              С удовольствием пользуюсь.
                0
                Вы пишите, что обновление бесплатно для тех, кто купил PhpStorm после 12 марта 2012. Я купил в ноябре, но мне предлагают обновить лицензию за 49 долларов.
                Непонятно. Можете прояснить, можно всё же обновиться до шестёрки бесплатно или нет?
                  +1
                  Вы можете обновить лицензию на следующий год пока действует текущая лицензия — это как раз правильно, магазин будет предлагать продлить лицензию на следующий год для удобства.

                  Для обновления до PhpStorm 6.0 в данном случае не нужно получать новую лицензию — используйте уже имеющийся ключ.
                    0
                    Спасибо! Всё получилось.
                  +3
                  Про API очень интересно. Давно хотелось бы видеть поддержку фреймворка Codeigniter на хорошем уровне.
                    0
                    А когда для IntelliJ Idea plugin PHP обновится?
                    0
                    В PhpStorm поддерживается отладка CoffeeScript, TypeScript и Dart с использованием source maps. Минифицированные файлы .js тоже можно отлаживать с помощью source maps.


                    А когда это придет в Идею?
                    +1
                    1. Иконки папок в Project explorer-e. Что за дырка в иконке?
                    2. Где мегаудобные пунктирные линии показывающие уровень вложенности? Или 3 уровня по 5 файлов — это целевая аудитория этой IDE?
                    3. В тёмной схеме функциональные кнопочки «Запустить», «Дебагать», «Остановить» и т.д. адски яркие и постоянно отвлекают внимание
                    4. Баг с кучей пустых линий при выполнении тестов (через ide-phpunit.php) пофиксили — УРА-УРА-УРА
                    п.с. правда, баг я пока не пробовал — воспроизводится или нет
                      –1
                      Поддерживаю, я бы еще добавил про изображение на splash-скрине, которое выглядит как угодно, но только не как бэкграунд для загружающегося рабочего инструмента, в 5 было очень здорово — стилизация под чертежный лист.
                        0
                        Ужасные дырки! Ощущение, что текстуры не подгрузились
                        0
                        Можно ли выбирать несколько пакетов?
                          0
                          Кому написать что бы дело пошло быстрее? Работать же с этими багами не реально:

                          youtrack.jetbrains.com/issue/WI-17153
                          youtrack.jetbrains.com/issue/WI-17164
                            +1
                            Подскажите, как REST Client использовать в связке с xdebug для удаленной отладки? Попробовал в заголовки добавить куку XDEBUG_SESSION=phpstorm-xdebug но не помогло.
                              0
                              Вопрос снимается, с кукой все-таки получилось.
                              +4
                              1. Как, не выключая SQL inspections вообще, избавиться от новопоявившейся ошибки:
                              image

                              2. Как можно вернуть прежние иконки? Новые прямо даже можно сказать бесят. Может можно обойтись заменой какого файла… Находил в инете советы по стороним плагинам, но меняющие не все иконки.

                                +6
                                Начал пользоваться относительно недавно (когда IdeaVIM стал юзабелен). Скажите, вы всегда выпускаете релизы с кучей известных критичных багов, или просто сейчас деньги кончились? Массу мешающих работе багов с приоритетом Normal даже не беру…
                                  +2
                                  Verified state — состояние, когда баг пофикшен и оттестирован. Поэтому ваш запрос не совсем корректен.
                                    0
                                    Зато видно фиксы, не вошедшие в релиз (если отсмотреть глазами).

                                    Даже если убрать verified — 6 issues. Если вываести еще и major — 12.

                                    Нет уж, это не релиз, это паблик-бета за деньги.
                                      0
                                      Во-первых — ваш запрос вообще не имеет смысла: для начала по фразе «кучей известных критичных багов» он окрывает и Feature requests. Потом зачем-то оставляет только In Progress — которых всего 4 — и по ним уж точно либо есть workaround либо это что-то редкое.

                                      Во вторых — все программы всегда имеют проблемы. Частые — 2-3 за одну годовую подписку — релизы являются большим преимуществом, так как пользователи быстрее получают исправления и улучшения.

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

                                      В общем, нас бесполезно троллить. Улучшений и исправлений шестерка, как и все наши релизы, несет очень очень много. Достаточно прочто перейти на нее и все будет понятно. Пользователи это подтверждают всеми возможными способами, Ну и мы продолжаем работу — 6.0.1 уже совсем близко.
                                        +1
                                        Я пользуюсь 6-кой с первых EAP. Критичный баг — Fluent-интерфейсы — починен не был. В релизе сломан автоотступ массивов (php 5.4 style, [ ]), притом что в предыдущем EAP работало…

                                        Вам стоит задуматься об улучшении процесса QA, а не рассказывать о том, что имеет смысл.
                                • НЛО прилетело и опубликовало эту надпись здесь
                                    0
                                    LiveEdit плагином доставляется
                                    0
                                    Плагин для отправки HTTP-запросов можно как-нибудь добавить в IDEA? Или он гвоздями прибит к PhpStorm?
                                      0
                                      Попробуйте 12.1 EAP blogs.jetbrains.com/idea/2013/03/intellij-idea-121-eap-12917-is-available/
                                      0
                                      Отметим, что весь функционал WebStorm доступен в PhpStorm

                                      Кроме built-in static server.
                                        0
                                        Да, с ним действительно есть нюансы — посмотрите на этот issue пожалуйста youtrack.jetbrains.com/issue/WI-17044 — мы работаем над этим вопросом
                                          0
                                          Смотрел и даже оставил комментарий, после которого issue снова открыли)
                                        +5
                                        А как вернуть тему из PHP Storm 5.04?
                                        Мне жутко не нравятся иконки в дереве файлов.
                                        +1
                                        Во-первых, спасибо за отличную IDE!
                                        PhpStorm 6 также включает функционал сворачивания кода в шаблонах Twig для блоков и контрольных структур

                                        Поддержка Twig реально радует, особенно по сравнению с PhpStorm 5. Единственное — добавьте сворачивание комментариев, очень не хватает.

                                        И ещё, PhpStorm в упор не понимает идентификаторы (названия переменных, классов), содержащие не латиницу. Сейчас работаю с проектом, где как раз много такого legacy-«добра». Я постепенно переписываю, конечно, но тот же Netbeans прекрасно всё понимает, а PHPStorm вообще истерит. Ни тебе перейти к определению переменной, ни сделать рефакторинг, ни отформатировать код (на строчках с такими идентификаторами код ломается). Т.е., у PHPStorm вообще ломается парсер кода в этих местах, он не понимает, что это такое, и при инспекции кода сыпет тоннами предупреждений об ошибках, которых нет.

                                        И да, я видел несколько баг-репортов, но что-то там всё совсем грустно — как из них следует, исправлять это не собираются, и репорты эти древние, т.е. о проблеме известно давно и её не решают. Я понимаю, конечно, что это как бы не дело писать юникодные идентификаторы, но, ИМХО, IDE должна их адекватно переваривать, а не истерить.
                                          0
                                          >PhpStorm в упор не понимает идентификаторы (названия переменных, классов), содержащие не латиницу.
                                          Вы это сечас точно про 6.0 говорите?
                                            +1
                                            С ума сойти, вы рулите и педалите, в 6.0 действительно, это поправили! Просто я проверял последний EAP — там всё было по-прежнему, так что никак не ожидал этого в релизе.
                                            0
                                            Не об этом ли речь?
                                            image

                                            Как раз PhpStorm 6.0 PS-127.100

                                              0
                                              Об этом. В PhpStorm 6 заработала хотя бы часть юникода (кириллица работает).
                                                +1
                                                Осталось дождаться полной поддержки, как в самом PHP :)
                                                [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
                                                  0
                                                  Угу, только это выражение полная хрень в контексте того что там речь про Unicode, причём какие-то совершенно немыслимые символы не являющиеся буквой ни одного из алфавитов.
                                                    +1
                                                    Ну да, эта регулярка натравливается на 8битный вариант идентификатора.
                                                    Просто уж сделать, чтобы IDE вела себя как парсер языка, было бы логично, имхо.
                                                    А то выходит, что php lint говорит, что все ок, все работает, но в IDE получаем кучу ошибок.
                                                  0
                                                  Все честные буквы всех определённых в Unicode алфавитов работают. Но пхп разрешает ещё какую-то хрень.
                                              0
                                              RESTful Web Service абсолютно не хочет работать с кирилицей, параметры с кирилическими символами приходят знаками вопросов. Символы в теле ответа тоже не поддерживают кирилицу. Для меня критично ибо пишу рестовый бэкенд, есть решение этих проблем? Кстати как параметром передавать массив в RESTful Web Service?
                                                0
                                                Для автоматической компиляции Sass, LESS, SCSS в CSS, а CoffeeScript или Typescript — в Javascript, вы можете воспользоваться встроенным плагином File Watchers.
                                                Это очень круто. Но можно ли настроить IDE так, что бы результат компиляции выгружался на сервер? Deployment настроен, Automatic upload тоже. Без этого фича почти не юзабельна.
                                                  0
                                                  Нашёл чекбокс «upload external changes» в Deployment options, но это работает буквально через раз. К тому же не совсем верно выгружать все внешние изменения, когда требуется только результат компиляции.
                                                  –1
                                                  Под linux шрифт по-прежнему нечитаем?
                                                    0
                                                    к сожалению, да. И это бага не РНРШторма как такового, а openjdk. Вон ребята патчат яву, потому что она от рождения не может анти-алиасить шрифты. Я подобрал божеский моноширинный шрифт, но всё равно глаза кровоточат. Только на тёмной теме лучше немного, но мне она не нравится.
                                                      0
                                                      Сам я именно с сабжем не пробовал, но вообще Oracle JRE с некоторой магией в _JAVA_OPTIONS помогает.
                                                        0
                                                        А можно пример скрина что такого ужасного по линухом?
                                                        Может линух линуху рознь выходит. Еще с PhpStorm 3 видел IDE и не встречал проблем сглаживания…
                                                        0
                                                        Какие-то странные глюки в новой версии, иногда подглючивает автокомплит(на QuardCore i7, 16gb RAM) в в пршлой версии не было такого.
                                                        И добавлен какой-то странный эффект памяти методов. То есть я их удалил уже, а в автокомплит вставляются хотя в структуре их не видно, значит нет действительно.
                                                        d.pr/i/NmyD
                                                        image
                                                          –3
                                                          Приобрел лицензию в прошлом году, но так и не привык к этой IDE. Братцы, я понимаю, что все хорошие разработчики с английским на «ты», но все же, почему нет локализации под великий и могучий? Или я не нашел?
                                                            +1
                                                            Имена файлов, классов, переменных в проекте тоже на великом и могучем пишите? (у меня инглиш тоже не на высоте, но для работы с IDE его выше крыши)
                                                            0
                                                            с глюками не столкнулся пока и новая темная тема и иконки лично мне дико нравятся. Особый кайф — в полноэкранном режиме на маке. Лучшая ide для пхп.
                                                              0
                                                              Крутяк ваще!
                                                                +1
                                                                Спасибо за обновку.
                                                                В REST-клиенте безумно не хватает возможности сохранения параметров запроса со всеми вытекающими («последние 10», импорт, экспорт, «загрузить пачку из файла и прогнать»).
                                                                Планируется ли оно, и если да, то когда?
                                                                  0
                                                                  Да, оно очевидно нужно. Проголосуйте, пожалуйста, за feature request: youtrack.jetbrains.com/issue/WEB-7068
                                                                    0
                                                                    Готово. Надеюсь, получится быстро внедрить — тогда мои разработчики будут пищать от счастья :)
                                                                    Чуть меньше, конечно, чем после перехода с эклипса, но все же.
                                                                  0
                                                                  Респект за Darcula для всех панелей и за Test RESTful Web Service!
                                                                    +1
                                                                    Подскажите, появится ли когда-нибудь возможность одновременной работы с несколькими проектами в рамках одного окна?

                                                                    Может быть, это я какой-то неправильный, но мне жутко неудобно переключаться между разными окнами при ведении 2-х и более проектов. :( Например, в том же NetBeans, насколько мне известно, такая возможность присутствует.
                                                                      +1
                                                                      Присоединюсь. Было бы неплохо иметь несколько корневых папок в панели Project.
                                                                      +2
                                                                      А когда уже пофиксится двухлетний(!!!) баг с раскладкой? youtrack.jetbrains.com/issue/IDEABKL-6290 Сколько ж можно то?
                                                                        0
                                                                        Сколько уже версий вышло, сколько народу проголосовало и все равно не сделали нормальную работу с ftp/stp. Принципиально, что ли?
                                                                          0
                                                                          После обновления с 5 до 6 весь код в цепочном стиле подсвечивается не валидным, рефактринг такого кода тоже перестал работать. Всей командой не можем перейти с 5 на 6 из-за этой критичной баги. youtrack.jetbrains.com/issue/WI-15903
                                                                          Надеюсь вы ее поправите как можно быстрее.
                                                                          PS. других претензий к шторму нет — лучшая IDE на мой вкус
                                                                          0
                                                                          Все же, я не понимаю, как можно выпускать в релиз IDE, которая отказывается парсить переменные в sql-запросах??

                                                                          И ещё, у меня одного периодически безумно тормозит PHPStorm? В 5 версии такого не наблюдалось. Конкретно — ужасно виснет при работе с AdWords PHP API Lib, хотя компьютер с 4ГБ RAM и core i5.
                                                                          Симптоматическое лечение от зависаний, в моём случае — Mark as plain text, но едва ли это выход.
                                                                            0
                                                                            А откуда берется список packages для composer? Просто он достаточно старый. Если зашит в composer.phar то лучше бы подгружать актуальный список с packagist.
                                                                              0
                                                                              Список берется с packagist.org, обновляется в реальном времени при запросе соответственно. Проверил — могу видеть сейчас обновления пакетов этого месяца в диалоговом окне add dependency… Иногда правда при медленном соединении долго список пакетов подгружается, так как их уже около 9000 — но тут подождать поможет.
                                                                              0
                                                                              Особенно порадовал редактор баз данных! Хотя многого в нём пока не хватает… Хотелось бы навсегда выкинуть Oracle SQL Developer и работать с базой прям из PhpStorm'а…
                                                                              Кстати, подскажите, а можно как-нибудь группировать дерево БД?? А то там вперемешку всё элементы — таблицы, вьюхи, сиквенсы и прочее…
                                                                                0
                                                                                Database view -> «Gear actions» (колесико в углу), check «Group Tables by Type»
                                                                                0
                                                                                А SQL можно выполнять только из соответствующей консоли?? Или из файла *.sql тоже как-то можно?? А то напрягает всё время перетаскивать код между вкладками…
                                                                                  0
                                                                                  Alt-Enter->«Run query in Console» intention. После первого вызова линкует файл к консоли и можно выполнять запросы как из консоли (Ctrl-Enter). Можно переключать на другую консоль с помощью status-bar-widget'а внизу редактора.
                                                                                  0
                                                                                  А почему в гите при невозможности запушить ветку (например, после ребэйза с другой веткой), предлагаются только два варианта — merge и rebase?? А как быть, если я хочу перетереть ветку на сервере (git push -f)??
                                                                                  0
                                                                                  Кстати, не помешало бы делать сразу SELECT * на какое-нибудь количество строк прям из дерева таблиц. Не то, чтобы мне сложно набирать запросы руками, но иногда экономия даже пяти секунд очень приятна…
                                                                                    0
                                                                                    «Quick Documentation» popup (Ctrl-Q) делает именно это. Работает не только из Database view, но и на ссылках в коде. Можно курсором ходить по дереву, popup будет обновляться самостоятельно.
                                                                                    0
                                                                                    И ещё па слов про работу с БД…
                                                                                    Oracle… Создал материализованную вьюху… А в дереве она определяется, как таблица… Подозреваю, что проблема может быть не только с MV.
                                                                                      0
                                                                                      К сожалению, это ограничения JDBC API. Исправим, когда перейдем на другие технологии.
                                                                                      0
                                                                                      Кто нибудь может пояснить, зачем в состав PhpSotrm входит jre?
                                                                                      И почему скачивающий должен его скачать?
                                                                                      И почему при установке пользователь не может указать, что не надо ставить jre?
                                                                                        0
                                                                                        подскажите, а какой порт использует плагин для хрома JetBrains IDE Support?
                                                                                        в phpStrom(6 версия) LiveEdit включен, но обновления страницы в браузере не происходит
                                                                                          0
                                                                                          Тоже самое. Только страница обновляется полностью, похоже на LiveReload, а не LiveEdit. Всё включено, плагин установлен для IDE и для Chrome, однако при изменениях в коде страница обновляется полностью, а не её часть. У моих коллег тоже самое.
                                                                                            0
                                                                                            Обновление страницы частично (hot swap) работает только для CSS/JS/HTML. В случае изменения PHP файла как мы можем инкрементально обновить — там все вперемешку и проще всего просто сохранить файл и перегрузить страницу. Можно поддержать некоторый специфический сценарий, — если вы пришлите тестовый файл с описанием (что именно хочется, изменение какой части документа должно быть инкрементально), подумаю, как можно улучшить это.
                                                                                            +1
                                                                                            Узнать это просто — в настройках расширения, confluence.jetbrains.com/display/WI/LiveEdit, смотрите How to configure IDE connection (IDE port) Но порт нужно настраивать только если у вас PhpStorm почему-то не смог использовать порт по умолчанию 63342.
                                                                                            0
                                                                                            Как побороть отсутствие панелей на Ubuntu? — dl.dropbox.com/u/91003174/phpstorm.png

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

                                                                                            Самое читаемое