Как стать автором
Обновить

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

Что-то странное с автокомплитом случилось, пишешь, например: \Invali и он отображает все возможные InvalidArgumentException в автокомплите из проекта, кроме SPL, который нужен (рутовый неймспейс как бы намекает). Что самое удивительное, если тыкнуть на Enter, выделив, например симфонийский какой-нибудь — он его не добавляет, а просто автокомплитит рутовым SPL.


Так и задумано?

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

Да не меняют они поведение автокомплита. Оно просто дополняется. Вот серьезно, сижу на шторме уже года 4 и как-то изменения меня не парят.

Ну вообще-то это поведение уже давно. Можно воспринимать как баго-фичу.

В 2016.1.* (что там было последнее?) такого не было. Разве что галочкой там как-то конфижилось вроде как.

ну у меня так уже давно)

У меня в 2016.1 было так же, как и сейчас: SPL-ный есть, но далеко внизу.
Тыкнуть на Enter на «не том» не пробовал, спасибо, это более-менее решает проблему.
Это баг, поправим, спасибо.
Отслеживать можно здесь.
Делал две попытки с перерывом в два года перейти на PhpStorm, так и не смог. Все круто, все развесисто и даже не особо тормозит, но мало проектов, когда в неизменном окружении год что-то одно пилишь. Гораздо чаще надо что-то по быстрому поправить за пару часов прям на серве, с доступом по ssh или фтп, а в таких условиях сколько не пытался себя уговорить PhpStorm запускать — не смог. Слишком уж много времени тратиться на борьбу с фичами, которые все равно в этих условиях не заработают. Ну и мелочи типа отсутствия встроенного хелпа с пхп функциями, откуда что-то по быстрому скопипастить можно тоже чутка напрягает.
Мне кажется PHPStorm не для Вас
В текущем состоянии да, хотя шаги сделаны были, прямой доступ к удаленным файлам и keep-alive фича, позволившая достаточно шустро обновлять удаленные файлы заставили меня сделать вторую попытку не так давно. Проблема в том, что для описанных условий ничего не подходит, кроме древнего Zend Development Enviroment 5.5 и я все еще поглядываю на PHPStorm, в надежде что там появиться какой-то отдельный минимизированный воркспейс и получиться среда в которой одновременно можно и солидный проект запилить и десяток мелких правок на разных серверах проделать быстро.
Представляю с какими проектами вы работаете, в которых правка по FTP на проде это норма… Сам сейчас фрилансер, но до такого не опускаюсь, даже если клиент не против правок на проде всё-равно разворачиваю проект у себя, благо это занимает 15 минут при использовании Vargrant. Когда работа завершена и протестирована локально, можно залить правки с использованием «Upload to...» в PhpStorm'е, если клиент не знает что такое Git.
Как правило это не прод, а dev сервер. Git это must-have для командной разработки, когда пилишь в одно лицо, по ходу помогая клиенту понять что же он хочет — наиболее эффективный путь это как раз дев сервер прямым доступом, когда клиент пишет что надо поправить и пока он пишет вторую строку ты уже сделал правки и просишь его глянуть на url- толи он имел в виду. Пускай это не частый сценарий, но в двух ide работать тоже не практично, хоткеи на уровне рефлексов лучше действуют когда в одной сидишь.
Git хорош и при одном разработчике, тем более если они часто меняются, как в случае фриланса. История проекта под рукой, каждая правка документируется комментарием, нет помойки на сервере, быстрый откат к предыдущей версии если обнаружился баг. Показать клиенту результат работы, кстати, можно и на своем компьютере при желании, ну или «Upload to...» в крайнем случае.
У меня часто меняются проекты, разработчик, то есть я — остаюсь :) Я тоже раньше с локальным серваком работал, но у меня винда стоит, точно такое же окружение уже не сделать. Да и в целом как-то стало проще на каком-нибудь digitalocean хранить пяток снапшотов, денег за это не берут, поднимаются они при необходимости за минуту… просто нужна IDE которая тоже сможет за минуту старый проект натянуть на новый удаленный сервак или вообще без создания проекта поправить что надо.
Ух, я-то думал, что практика редактирования файлов по фтп изжила себя где-то в 2007ом…
Одно из худших (с т.з. стабильности) обновлений.
Все 2016.1+ при непонятных условиях(нет background tasks и чего-то подобного, отключены все плагины, IDE просто открыта) начинают просто съедать процессор. Помучился помучился и откатился на 9-10 версии.
Честно говоря, со стабильностью уже примерно год от версии к версии то появляются то исчезают подобные чудеса. Хочется уже найти стабильную fallback версию и остаться на ней и параллельно смотреть альтернативы…
Не закрываю IDE по 2-3 недели — полет нормальный, открыто 5 проектов в одной IDE, объема кода — мегабайт под 80-100 и в общем то никаких проблем не испытваю
Аналогично, правда не всегда.

Иногда все летает, но открываешь какой-нибудь маленький JS/JSX файл и начинается… иногда даже проще перезапустить IDE, чем мириться с лагами. Причем закономерности файл-лаги нет.
Аналогично, периодически съедает почти весь процессорный ресурс (бывает, что и все 6 ядер). При этом фоновых задач нет. Бывает просто при добавлении небольшого файла к проекту «уходит в ступор»…

Справедливости ради следует сказать, что проект немаленький (разработка модификаций для LMS Moodle), но раньше определенно меньше съедало ресурсов процессора, при этом по потреблению памяти замечаний нет.
Не похоже, чтобы проблема была массовой. Поэтому чтобы говорить о чем-то конкретно, нужен CPU snapshot. Записать его можно так или так, репортить сюда: https://youtrack.jetbrains.com/issues/WI /cc Akuma Toledo
Ок, в следующий аз сделаю репорт
НЛО прилетело и опубликовало эту надпись здесь
Спасибо за подсказку, попробую у себя. Только скажите, на x64 переходили, или установили максимум в 800 МБ?
НЛО прилетело и опубликовало эту надпись здесь
Также улучшения коснулись .phpstorm.meta.php.

А какие именно изменения в .phpstorm.meta.php? На сайте что-то не нашел.

Вообще очень сильная фича, но не хватает в ней одной малости — регэкспов. Чтоб можно было параметр не просто строкой задать, а регулярным выражением с подстановкой в результате. Вот это была бы вообще убойная вещь!
У них же индекс там свой. Регекспом тут накладненько будет думаю
DynamicReturnTypePlugin умеет не только регэкспы, но и больше.
plugins.jetbrains.com/plugin/7251
О-о-о, лигатуры! Это же просто прекрасно!

err ≠ nil, a ≥ 5, b ≡ c
НЛО прилетело и опубликовало эту надпись здесь
все круто, все нравится.
спасибо за апдейт, но есть маленький баг, который раздражает последние несколько аптейтов, а именно, когда развернул себе дерево проекта, скрываешь вкладку Project, потом снова ее открываешь, то все папки уже не развернутые. приходится заново лазить по папкам и искать нужные файлы…
Так не должно быть, у меня дерево проекта переживает не только закрытие Project, но и перезапуск IDE. Если стабильно воспроизводится и переустановка не помогает, ждем в трекере. Кстати, последние файлы всегда можно найти с помощью Ctrl + E, любые файлы — Ctrl + Shift + N ну или Shift два раза.
перезапуск IDE у меня тоже переживает, только если не сворачивать (Alt + 1) окно Project.
если я это сделаю, и немного задержусь в файле, полажу в браузере и т.п., тогда при открытие Project окна, все пропадает.
А мне эта баг-фича нравится. Когда большой проект и слишком большое дерево, я сворачиваю корень, после если надо «scroll from source» разворачиваю нужное дерево
иногда надоедает месиво вкладок, просто зажимаю ctrl+W. потом
ctrl+E — открыть последний файл. если сразу же начать печатать название файла или расширение, список будет фильтроваться. потом сразу enter.
alt+F1, 1 — эта последовательность разворачивает дерево до файла, в котором сейчас фокус редактора
на открытие и разворачивание дерева до последнего редактируемого и закрытого файла уходит примерно секунда
Прошу прощения, отвечал artspb, но почему-то мобильное приложение отправило ответ не на тот уровень.
UPD: жесть какая-то. Мобильное приложение отправляет ответ совсем не к тем комментам, к которым я его пишу. Это было сюда.
Так не должно быть, да. Но мне, подписанному на этот тикет с приоритетом Major, с начала года приходят мольбы пользователей, которым это тоже ломает работу. Если мне не изменяет память, это появилось в первой версии 2016 и до сих пор не исправлено. Дико бесит. Приходится держать панель проекта постоянно открытой чтобы дерево не сворачивалось.
Мне жаль, постараемся пофиксить в 2016.3 (как следует из комментариев к issue). Пока можно попробовать альтернативные способы навигации, предложенные выше — возможно, они окажутся удобнее.
Лично мне этот баг не мешает- я дерево редко закрываю и для перехода в него пользуюсь Select Target -> Project View (hotkey на select target и ентер). Но уже который год наблюдаю игнорирование major багов в пользу «продающих» микрофич, которые можно включить в описание релиза. В комбинации с навязанным переходом на подписку с августа это заставляет задуматься об альтернативах.
На подписку, в числе прочего, перешли для того, чтобы не думать над тем, что будет красивее смотреться в релизе, а решать актуальные проблемы. Не думаю, что это изменение само по себе может позволить меньше чем за год кардинально исправить ситуацию к лучшему. Но тенденция есть, движение в этом направлении определенно видно. Так что я бы пока не стал торопиться с выводами, все-таки 2 ноября было не так давно.
К сожалению, пока что со стороны это выглядит как просто желание «доить» подпиской старых пользователей, которые привыкли и потерпят, и продолжать клепать хорошо выглядящие, но малополезные фичи для привлечения новых пользователей.

Например (это, правда, до подписок было), фикса WI-17801 (со статусом Critical!) пришлось ждать больше года, и его пофиксили только потому, что один из пользователей оставил в комментариях такой пример, по которому фикс был очевиден. Сам собой напрашивается вывод, что потратить несколько часов на исследование причин бага — даже со статусом Critical — у разработчиков просто нет времени, надо выполнять план по списку фич, спущенных маркетологами.

Тенденцию вроде бы наблюдал, но вот этот баг заставил задуматься.
Ну, убеждать человека в обратном, если у него уже есть свое стройное объяснение происходящему, это всего дело неблагодарное. Скажу лишь только, что у нас нет маркетологов, которые бы составляли «план по списку фич». Вообще, внутренняя кухня JB сильно отличается от среднего по отросли, здесь можно найти немного инсайда, если интересно.
Никаких стройных объяснений, простые предположения. Основанные на «среднем по отрасли», да.

На самом деле, подписку в любом случае куплю, потому что деваться некуда, все альтернативы намного хуже. Но очень хотелось бы, чтобы критичные баги не висели по году :)
О да, теперь я могу ставить картиночку в бэкграунд редактора! Сколько я этого ждал!
На винде вкладки терминала невозможно переименовать, так как после двойного клика через секунду слетает фокус. Поле «working directory» в ssh external tools самостоятельно меняет слэши с юниксовых на виндовые, из-за чего тулзами невозможно пользоваться…
… но зато можно менять фон — браво!
Хм, кажется я малость погорячился насчёт external tools. Слеши меняются, но работоспособность сохраняется.
А не работало из-за того, что параметры команде я передавал прямо в поле «program». Интересно, что версия для мака нормально переваривает эти параметры
Спасибо за проделанную работу. Скажите, есть ли возможность настроить «Xdebug по требованию» в Docker-контейнере, запущенном в docker-machine?
Хм… Насколько мне известно «Xdebug по требованию» работает только с «PHP Script» конфигурациями: то-есть при запуске PHP скриптов в CLI режиме (будь-то локально или удаленно через SSH) так как эта «инструкция» передается дополнительным параметром напрямую PHP интерпретатору. Если Вы можете его (PHP интерпретатор в PhpStorm) настроить для Вашего Docker-контейнера… тогда и тут должно сработать. Но, насколько мне известно, Docker работает по другому…
Если речь идет про web server, то я уже ответил выше (хотя тут может быть проще, т.к. можно просто перезапустить контейнер), а если речь идет об интерпретаторе, то над интерпретаторами для docker контейнера мы работаем.
До обновления была возможность создать Empty Project. Теперь вижу только шаблоны, которые требуют времени на загрузку всякого добра, которое все равно приходится потом удалять…
PHP Empty Project на месте…
https://www.jetbrains.com/help/phpstorm/2016.2/system-requirements.html
По-моему требования к системе у вас занижены. У меня на ноутбуке 6 ГБ памяти и даже этого бывает мало (на 4-х вообще был ад). Надо учитывать, что кроме PhpStorm у любого программиста запущены другие программы, например, браузер, скайп… У меня Линукс, если что.
Понятно, что имеется ввиду свободная память. На машине разработчика может и 16 гигов быть занято спокойно (пачкой vagrant-боксов, скажем).
Для вас понятно, а для начинающего PHP-разработчика совсем не понятно. Он привык в тому, как пишут системные требования к игрушкам. Там, если написано «рекомендуется» — значит должно хватить по-любому. Конечно, у игр своя специфика, но эту специфику должен учитывать тот кто пишет системные требования к программам. Надо добавлять уточнение «свободной памяти».
Ну и хорошо бы отслеживать расход памяти и информировать пользователя, а не просто зависать наглухо.
На машине разработчика может и 16 гигов быть занято спокойно (пачкой vagrant-боксов, скажем)
Я имел ввиду только самое необходимое для рядового разработчика (браузер, мессенджер). Если я не использую всяких там «vagrant-боксов», то мне должно хватать памяти.
Иногда, когда в одном файле используется относительно много классов из одного и того же namespace, я делаю «use» только для родительского namespace. Т.е. вместо (пример условный!):

use Foo\Bar\Class1;
use Foo\Bar\Class2;
...
use Foo\Bar\Class10;

$var1 = new Class1();
$var2 = new Class2();
...
$var10 = new Class10();

пишем:

use Foo\Bar;

$var1 = new Bar\Class1();
$var2 = new Bar\Class2();
...
$var10 = new Bar\Class10();

Вчера обновился с 2016.1.2 на 2016.2, прогнал инспекции — PhpStorm ругается на подобные сокращенные «use», как на «unused import». Предыдущая версия (2016.1.2) не ругалась (хотя действительно неиспользуемые импорты находила). Это бага? Бежать в трэкер? Временно отключил соответствующую инспекцию (php-cs-fixer все равно лечит действительно неиспользуемые импорты), но неприятно. :)

Тоже самое творится и, например, с доктриноскими аннотациями:


use Blabla\Any; // Пишет что неиспользуется и удаляет

/**
 * @Orm\Entity(repository=Any::class)
 */
class Some
{

}
https://youtrack.jetbrains.com/issue/WI-31774
У меня не воспроизводится. Есть минимальный пример, на котором 100% работает неправильно?
Самое интересное, что у меня на вашем коде — тоже. Попробовал написать чуть более развернутый пример (с «composer» и нормальным autoload'ом) — тоже все ок.

Снова открыл свой рабочий проект — ошибки есть. Удалил папку ".idea" из корня проекта, переоткрыл проект, проинспектировал — ошибки есть, но их теперь другое число. Попробовав несколько раз получал различные значения от 7 до 13. Такое ощущение, что нужно достаточно большое количество таких импортов в разных файлах, чтобы оно стало воспроизводиться (причем ругается только на некоторые из этих импортов, а не на все подобные).

Поскольку проект opensource, почему бы не воспроизвести прямо на нем:

1. Качаем исходники архивом — https://github.com/etraxis/etraxis/archive/ce16e0d5fe08fa79b5153f6db2f5e4e6abef1f3c.zip.
2. Распаковываем архив.
3. Открываем проект в PhpStorm.
4. Соглашаемся на autodetect PSR-0 namespaces.
5. Инспектируем папку «src».

Поскольку нет папки «vendors», будет очень много «undefined». А если в настройках проекта язык не PHP7, то еще и много errors. Игнорируем, смотрим «unused imports» — они там есть.

6. Закрываем проект.
7. Удаляем папку ".idea".
8. Повторяем шаги 3-5 — снова есть «unused imports», но скорее всего уже другое число.
Завел, будем смотреть, спасибо.
Огромное спасибо!
Сегодня ночью вышел EAP (билд 162.1447.5). В списке фиксов нашел и этот баг (точнее, тот тикет, на который его задупали). Скачал, развернул, проверил — работает. Оперативно, спасибо большое! :)
Пожалуйста, стараемся :)
НЛО прилетело и опубликовало эту надпись здесь
Ребята, хватит понтоваться — картинки, лигатуры и прочее… Пофиксите баги, которых с каждым выходом становится все больше. Вы будете смеяться, но начиная с версии 10.0.2 до сих пор существует такой баг в PHPStorm как $_POST global array is empty when using IDE's in-built server (https://youtrack.jetbrains.com/issue/WI-31257). Разработчики даже не чешутся.
А ещё с перетаскиванием картинки в html пример достаточно странный — зачем оно самозакрывающийся тег вставляет при условии что документ — html5?
В HTML5 допускаются оба варианта, с закрытием и без. Видимо разработчики посчитали, что первый более универсальный.
Уже сколько версий прогресс бар загрузки модулей на сплэш-скрине начинается с отступом от левого края, а заканчивается в упор к правому. В чем тайный смысл сего несимметричного дизайна?
По дури перешел на macOs Sierra и в нем не работает ни новый, ни предыдущий шторм. Отправил баг. Пока поставил старый шторм (10.0.4) который и работает шустрее и не вылетает каждые 5 мин. Да и шрифт оказыватеся в нем был приятнее
Уииииииии!

То есть спасибо большое!
Баг с Remote Host FTP — когда не доступен FTP сервер, зависает весь PhpStorm под MacOs El Capitan нужно принудительно завершать
Не смогла воспроизвести( Возможно, попытки подключиться занимают слишком много времени. Если вам не трудно, не могли бы вы создать ишью на YouTrack и приаттачить туда логи (Help | Show Log in Finder)?
Создал Issue
Возможно ли реализовать включение/выключение xdebug для web-окружения? Например прописать вызов определенного скрипта при включении/выключении «Listening for PHP debug connections»
Если речь идет о «PhpStorm позволяет включать Xdebug только по требованию», то пока такой возможности нет, т.к. web server нужно перезагружать при изменении php конфигурации. Если Вы знаете инструментарий web server'а, который позволяет это сделать, то ждем feature request в нашем трекере.
Понятно что универсального решения здесь не будет, поэтому и написал про возможность задать выполнение скрипта на какое-либо действие — возможно этот функционал уже есть, но я его не нашёл?
Такой функциональности нет, на сколько мне известно.
Единственная вещь, которая не просто неудобна в шторме, а ужасно бесит — это «забывание» того, что я переключил раскладку клавиатуры. Т.е. нажимаю Ctrl+Shift+N, начинаю печатать имя файла, понимаю, что печатаю на русском, переключаю язык, выбираю файл или закрываю окно — язык снова русский. И беда эта тянется, как бы не соврать, аж с 3-й (!) версии, ну или где-то в тех краях. И воспроизводится в любых окнах — поиск файла, просто поиск, окно коммита и т.д.

Может быть это когда-нибудь исправлено?
С 2016.2 IDE должна понимать что за файл, даже если вы печатаете на русском.
Пишут что это проблема Windows и в 10-ке должно уже быть пофиксено: https://youtrack.jetbrains.com/issue/IDEABKL-6290 (и поэтому тикет в IDEBKL (backlog) проекте).

Пройдитесь по комментариям — там много разных «решений» и предложений.
Это не проблема IDE, это лечиться настройками DE (Desktop Environment).
Вангую что у вас выставлена раскладка на каждое окно. Можно выставить например на приложение или глобально, и проблема уйдёт.
Почему-то в том же Sublime такой проблемы нету
Это может быть обусловлено тем что sublime создаёт всплывающие окна иными средствами, и DE не считает их окнами. По типу того как можно просто нарисовать html окно.
Нет. Это именно проблема IDE. Редактор запоминает раскладку и восстанавливает её после переключения в других приложениях, даже после переключения в диалогах самой IDE.
Win 10. Единая раскладка для всех приложений.
Это может быть проблемой JRE. В OS X и Linux можно переключаться между системной и поставляемой с PhpStorm, наверное, и в Windows тоже так можно — это не решит проблему?
Выставил путь до внутренней JRE в WEBIDE_JDK. Запустил из bat. Результат тот же, восстанавливается последняя ипользуемая раскладка в редакторе.
А почему в WS не сделали возможность сохранить проект как шаблон?
Или я избранный или что-то не так с обновлением, в этой версии совершенно перестал работать debug / debug listening, а именно совершенно не ловит сессию, php5.6+with xdebug enabled, Запускаю через php -S domain.dev:80.
Пардон разобрался xdebug.remote_enable = 1 надо выставлять в настройках php.ini. не помню надо ли такое раньше выставлять
Установлен PhpStorm 2016.1, при вводе конструкции вида

И нажатии Enter, PhpStorm переходит на новую строку и ещё 1 строку рисует после неё, так и не смог найти настройку, которая за это отвечает, может быть кто-то знает?
Скушался код.

Имелось ввиду после закрывающего PHP тега.
Может быть это? Settings/Preferences | Editor | General --> Ensure line feed at file end on Save
К сожалению, нет, галочка не установлена. (Впрочем, если её включить — на данный кейс не реагирует)
Попробуйте тогда сбросить настройки форматирования (Code Style) — используйте Default. Также, как вариант, может в проекте есть .editorconfig файлы и используется EditorConfig плагин? Других идей (кроме как отключение всех сторонних (не установленных по умолчанию) плагинов или удаления всех настроек (что бы посмотреть — а поможет ли)) пока не наблюдается…

Кстати, эта «дополнительная строка» — такое поведение только в конце файла или в средине тоже?
Сброс настроек к дефолтным не помог. Отключение всех плагинов — как только плагин PHP активен, сразу же появляется ошибка.

Такое поведение именно в конце файла.

Интересно, останется ли ссылка в комментарии: http://imgur.com/VZk57AW
Завели, спасибо.
Артем, благодарю. Буду с нетерпением ждать настройку / исправление.

Раньше когда нажимал двойной шифт, ИДЕ перехватил выделенный текст, сейчас перестал.
Это настраивается или баг?

Тут попросили это отключить: https://youtrack.jetbrains.com/issue/IDEA-147128…

А тут спрашивают обратно это все включить: https://youtrack.jetbrains.com/issue/IDEA-157100…

Спасибо за ссылки, проголосовал, надеюсь вернут все как было, или сделают опцией

Ещё, не мение странный баг, при создание проекта, клонирование с ftp, папки которые помечаешь как execute from download никак не подсвечиваться, в отличии от предыдущих версий, где было понятно что и как.
Спасибо, пофиксим.
Заметил мелкий, но неприятный баг в последней версии: я, как правило, всем проектам задаю имя, и раньше в списке недавно использованных проектов высвечивались именно эти, заданные вручную, имена. А сейчас высвечиваются либо полные пути, либо имя папки. Кому как, но для меня это жутко неудобно
По всей видимости, это оно. Баг уже исправлен и будет поставлен в следующем минорном апдейте.
Да, оно, спасибо
У меня вопрос, может кто-то подскажет
Я работаю на сервере через sftp
Когда я выбираю Deployment — Download from Server файлы загружаться на компьютер, все ок. Но если, я после этого изменю один файл и сохраню изменения, то на сервер отправляются все файлы, которые перед этим были скачаны.
В чем проблема, почему так происходит?
Спасибо
А какие у вас настройки в Options | Deployment | Overwrite up-to-date files? Возможно ли, что эти файлы все же были чем-то изменены (повторная транспиляция, и т.п.)? Также было бы замечательно, если бы вы завели тикет на YouTrack, и мы продолжили бы обсуждение там.
Это не баг скорей. У меня была выставлена данная галочка и Preserve files timestamps. Это происходило из-за них
Preserve file timestamps просто изменяет таймстемп отдельной командой, так что скорее из-за первой настройки.
Странно. Файлы на сервере точно не были изменены. При включённой Preserve files timestamps происходила перезаливка файлов
По этому пришлось убирать 2 галочки
Перестал работать автокомплит статических методов, которые вызываются динамически.
Например, в PHPUnit метод assertEquals() объявлен статически, но обычно его вызывают как $this->assertEquals() соответственно в автодополнении для $this->assert… осталось лишь 4 метода. Можно отключить эту фичу в настройках?
Нажмите Ctrl+Space еще раз чтобы показать все методы (https://youtrack.jetbrains.com/issue/WI-32493).

По другому пока никак: https://youtrack.jetbrains.com/issue/WI-32530
НЛО прилетело и опубликовало эту надпись здесь
проблемный, да, но вроде не настолько плохо, invalidate caches пробовали?

Есть проблемы совершенно не связанные с кешем, например попробуйте открыть этот исходник:


<?php
class Resource
{
}

class ResourceRepository
{
    public function add(Resource $resource) {}
}

$repo = new ResourceRepository;
$repo->add(new Resource);

Он корректно работает на всех версиях пыха (начиная с каких-нибудь 5.х, заканчивая 7.1), но попробуйте выставить версию пыха php 5.6 или ниже в шторме.


Особо радует ошибка на последней строчке: "Resource is not a Resource"

Хаха, забавно, очевидно, это сломали при добавлении поддержки 7-ки. Типа, пхпшный resource. Был бы class String, в 7-ке бы сломалось. Перестарались чуток :)

Ну есть не менее забавные, но вполне вменяемые сообщения об ошибках:


$pairs = [];
$items = [1, 2, 3, 4, 5];

foreach ($items as $i) {
    foreach ($items as $j) {
        // ...
    }
}

Второй foreach подсвечивает как This loop does not loop (это не те дроидеки, что вы ищите...). =)

Что-то не воспроизводится. Плагины?

Упс, мой косячок.


Это "EA Extended" плагин расширенного анализа кода такое "диковатое" сообщение выдаёт, вместо более вменяемого Loop does not contain a body, например.

Поправили, будет в следующем EAP.
После апдейта отвалилось «Create New Project from Existing Files», если указывать в качестве источника sftp. Сначала думал что проблема в бета-версии mac os, откатился на El Capitan и переустановил phpstorm «с нуля» — проблема не решилась. Создается директория, файлы скачиваются, но после этого сам проект не создается, просто остается окно приветствия.
Судя по смене статуса пофиксили? Теперь ждать следующего минорного релиза?
Да. Будет доступно в следующем EAP 2016.2, ориентировочно через неделю. Пока можно пользоваться воркераундом, меню File | Create From Existing Sources в открытом проекте.
Как насчет выпустить bugfix релиз пораньше? Я вижу, много достаточно серьезных багов пофиксили. Неохота на EAP сидеть.
а подсветка альтернативного синтаксиса будет когда-нибудь? if: elseif: endif;? (foreach/endforeach итп)
со скобками удобно работать — видно блоки кода, а альтернативный синтаксис не подсвечивается — жутко неудобно в таком коде что то перерабатывать когда не видишь где конец условия визуально, еще особенно когда они раза 3-4 вложены друг в друга.
Когда-нибудь будет. Голосуйте за тикет, чтобы приблизить этот момент.
Created by Анатолий Ерофеев 02 Nov 2012 06:31
в ноябре 4 года уже будет тикету… как-то сомнительно что его вообще еще «помнят».
а если не секрет, сколько нужно голосов? или хотя бы примеры фич, добавленных через вот такие «демократические выборы»?
Демократию никто не обещал. Просто чем больше голосов у тикета, тем больше шансов, что на него обратит свое внимание разработчик. «Помнить» ничего не нужно, достаточно просто применить соответствующий фильтр при очередном планировании.
Только что вышел патч 2016.2.1, который исправляет большинство проблем, упомянутых в комментариях выше. Ну и приятности вроде улучшенного автодополнения там и сям, подробности в блоге. Спасибо всем, кто сообщал о багах и отправлял фича реквесты!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий