Comments 133
Что-то странное с автокомплитом случилось, пишешь, например: \Invali
и он отображает все возможные InvalidArgumentException
в автокомплите из проекта, кроме SPL, который нужен (рутовый неймспейс как бы намекает). Что самое удивительное, если тыкнуть на Enter, выделив, например симфонийский какой-нибудь — он его не добавляет, а просто автокомплитит рутовым SPL.
Так и задумано?
Ну вообще-то это поведение уже давно. Можно воспринимать как баго-фичу.
Все 2016.1+ при непонятных условиях(нет background tasks и чего-то подобного, отключены все плагины, IDE просто открыта) начинают просто съедать процессор. Помучился помучился и откатился на 9-10 версии.
Честно говоря, со стабильностью уже примерно год от версии к версии то появляются то исчезают подобные чудеса. Хочется уже найти стабильную fallback версию и остаться на ней и параллельно смотреть альтернативы…
Иногда все летает, но открываешь какой-нибудь маленький JS/JSX файл и начинается… иногда даже проще перезапустить IDE, чем мириться с лагами. Причем закономерности файл-лаги нет.
Справедливости ради следует сказать, что проект немаленький (разработка модификаций для LMS Moodle), но раньше определенно меньше съедало ресурсов процессора, при этом по потреблению памяти замечаний нет.
Также улучшения коснулись .phpstorm.meta.php.
А какие именно изменения в .phpstorm.meta.php? На сайте что-то не нашел.
Вообще очень сильная фича, но не хватает в ней одной малости — регэкспов. Чтоб можно было параметр не просто строкой задать, а регулярным выражением с подстановкой в результате. Вот это была бы вообще убойная вещь!
plugins.jetbrains.com/plugin/7251
err ≠ nil, a ≥ 5, b ≡ c
спасибо за апдейт, но есть маленький баг, который раздражает последние несколько аптейтов, а именно, когда развернул себе дерево проекта, скрываешь вкладку Project, потом снова ее открываешь, то все папки уже не развернутые. приходится заново лазить по папкам и искать нужные файлы…
ctrl+E — открыть последний файл. если сразу же начать печатать название файла или расширение, список будет фильтроваться. потом сразу enter.
alt+F1, 1 — эта последовательность разворачивает дерево до файла, в котором сейчас фокус редактора
на открытие и разворачивание дерева до последнего редактируемого и закрытого файла уходит примерно секунда
Например (это, правда, до подписок было), фикса WI-17801 (со статусом Critical!) пришлось ждать больше года, и его пофиксили только потому, что один из пользователей оставил в комментариях такой пример, по которому фикс был очевиден. Сам собой напрашивается вывод, что потратить несколько часов на исследование причин бага — даже со статусом Critical — у разработчиков просто нет времени, надо выполнять план по списку фич, спущенных маркетологами.
Тенденцию вроде бы наблюдал, но вот этот баг заставил задуматься.
На винде вкладки терминала невозможно переименовать, так как после двойного клика через секунду слетает фокус. Поле «working directory» в ssh external tools самостоятельно меняет слэши с юниксовых на виндовые, из-за чего тулзами невозможно пользоваться…
… но зато можно менять фон — браво!
По-моему требования к системе у вас занижены. У меня на ноутбуке 6 ГБ памяти и даже этого бывает мало (на 4-х вообще был ад). Надо учитывать, что кроме PhpStorm у любого программиста запущены другие программы, например, браузер, скайп… У меня Линукс, если что.
Ну и хорошо бы отслеживать расход памяти и информировать пользователя, а не просто зависать наглухо.
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
{
}
Снова открыл свой рабочий проект — ошибки есть. Удалил папку ".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», но скорее всего уже другое число.
То есть спасибо большое!
Может быть это когда-нибудь исправлено?
Пройдитесь по комментариям — там много разных «решений» и предложений.
Вангую что у вас выставлена раскладка на каждое окно. Можно выставить например на приложение или глобально, и проблема уйдёт.
Win 10. Единая раскладка для всех приложений.
И нажатии Enter, PhpStorm переходит на новую строку и ещё 1 строку рисует после неё, так и не смог найти настройку, которая за это отвечает, может быть кто-то знает?
Имелось ввиду после закрывающего PHP тега.
Кстати, эта «дополнительная строка» — такое поведение только в конце файла или в средине тоже?
Раньше когда нажимал двойной шифт, ИДЕ перехватил выделенный текст, сейчас перестал.
Это настраивается или баг?
Я работаю на сервере через sftp
Когда я выбираю Deployment — Download from Server файлы загружаться на компьютер, все ок. Но если, я после этого изменю один файл и сохраню изменения, то на сервер отправляются все файлы, которые перед этим были скачаны.
В чем проблема, почему так происходит?
Спасибо
Например, в PHPUnit метод assertEquals() объявлен статически, но обычно его вызывают как $this->assertEquals() соответственно в автодополнении для $this->assert… осталось лишь 4 метода. Можно отключить эту фичу в настройках?
Есть проблемы совершенно не связанные с кешем, например попробуйте открыть этот исходник:
<?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"
Ну есть не менее забавные, но вполне вменяемые сообщения об ошибках:
$pairs = [];
$items = [1, 2, 3, 4, 5];
foreach ($items as $i) {
foreach ($items as $j) {
// ...
}
}
Второй foreach
подсвечивает как This loop does not loop
(это не те дроидеки, что вы ищите...). =)
со скобками удобно работать — видно блоки кода, а альтернативный синтаксис не подсвечивается — жутко неудобно в таком коде что то перерабатывать когда не видишь где конец условия визуально, еще особенно когда они раза 3-4 вложены друг в друга.
в ноябре 4 года уже будет тикету… как-то сомнительно что его вообще еще «помнят».
а если не секрет, сколько нужно голосов? или хотя бы примеры фич, добавленных через вот такие «демократические выборы»?
Выпущен PhpStorm 2016.2