Pull to refresh

Comments 125

Сделали неудобной "Run command". Теперь я не могу ее держать постоянно открытой в табе (в sidebare).
Пользовался как консолью с автокомплитом и историей вместо терминала в windows.

Было б здорово, если б вы описали свой «workflow» завязанный на Command Line Tool Support на нашем трекере: youtrack.jetbrains.com/newIssue. Как я вижу сейчас действительно нельзя закрепить run anything как тулбар. Возможно получится опционально вернуть старый вид «Run command» если будет много заинтересованных.
UFO just landed and posted this here

Это на самом деле проблема — раньше это был отдельный таб, в котором работал автокомплит по command line tools. Достаточно было написать, условно, mig и мы получали doctrine:migrations:migrate. Сейчас же, в новом окне, автокомплита по добавленным tools'ам вообще нету.

А когда у вас появится возможность в автокомплите выключать бестолковые дополнения и делать сортировку например по тем которые чаще всего используются? Ну например я вот часто работаю с css и часто использую margin пишу ma и почему-то выбран по умолчанию margin-bottom а не просто margin?
В Вашем случае пригодятся возможности Emmet для автодополнения. Для margin, например:
m20 + Tab = margin: 20px;
p8 + Tab = padding: 8px;
fz14 + Tab = font-size: 14px; и т.д.

Сейчас автокомплит учитывает частоту использования тех или иных вариантов. У меня, к примеру, в css ma комплитися именно в margin.
Можете попробовать удалить папку ~\.PhpStorm<версия>\system\stat чтобы сбросить "весы" комплишена.

Функций полезных новых много, но что там делают дизайнеры? Светлый интерфейс стал еще светлее и неконтрастнее. Например, теперь найти активную вкладку стало труднее: разница в яркости — 3% и теперь приходится выискивать тонкую синюю линию, а когда вкладки расположены вертикально, это сделать еще труднее.

Эта проблема сейчас обсуждается внутри команды. Попробуйте выключить "Use in Editor Tabs" в File | Settings | Appearance & Behavior | File Colors.

Проблема не с цветными вкладками, а с обычными. Они стали все светло серые и на некоторых мониторах могут вообще не различаться. Да и цветные мне нужны. Просто раньше неактивные вкладки затенялись, был хороший контраст с четкими границами.
Как по мне, дизайн становится современнее, но теряет удобство. Например, год назад перерисовали иконки, но не все. Часть просто убрали. И после обновления вручную добавленные кнопки на тулбаре стали без своих иконок.
В darcula тоже самое. Вкладки не видно. Шрифт consolas — ужасен, какой-то sublime получился (да, я, в курсе что можно поменять, но это лишнее действие). Apple-way с навигационной панелью в windows вообще жуть, не удобно. Да вопрос привычки, но я работаю в windows, зачем из этого лепить macos? Цветовая схема в автокоплите, что это за «попугай»? Просто вырви глаз какой-то. Дизайнер тот же человек, что рисовал оболочку для телефонов huawei?
Пользуюсь JetBrains Toolbox и заметил, что скетчи не переносятся с версиями.
Сейчас обновился на 2019.2 и все скетчи, что были остались в старой версии.

Или я что-то делаю не так?

Вы имеете ввиду scratches? Должны переноситься. Settings Repository не пользуетесь случайно? Если нажмете RMB по скретч файлу > Show in Explorer — откроет папку ~\.PhpStorm2019.2\config\scratches?

Вы имеете ввиду scratches?

Да

Settings Repository не пользуетесь случайно?

Да, я забрал настройки с репы, а скетчи были в старой версии.

Разобрался :)
А это только у меня каждый релиз меняются шрифты?
Вроде бы неплохо, но блин, каждый раз новый шрифт.

Кстати, проверка регулярок работает как будто они обрамлены в ^$
prnt.sc/okata7

Хотя по факту это не так

Поменялся line spacing с 1.0 на 1.2. Также были различные фиксы в нашем рантайме связанные с рендерингом, например https://youtrack.jetbrains.com/issue/JBR-1008. Можете еще написать нам на наш трекер на https://youtrack.jetbrains.com/newIssue, приложить скриншоты до/после и мы посмотрим проблему детальнее.

Спасибо, нормально. Проверим и ответим там.

А я после обновления минут 5 очки протирал — никак не мог поверить, что шрифт изменился :)

Сломалось то, что работало.
Э, чего захотели! Список багов в релиз-кандидате!
Кстати хорошая бы фича была :)
Спасибо за замечание! Наш косяк, уже исправили, фикс будет в ближайшем обновлении.
Хм. А можно полный код файла?
Попробовал делать addMethod — все работает как надо.
<?php
declare(strict_types=1);

namespace Tests\Http;

use Tests\TestCase;

class ProviderActHttpTest extends TestCase
{

    public function testProvider()
    {
        $this->checkIndexRoute();
        $this->checkShowRoute();
    }
}

День точно будет) И дружба тоже. А вот специальных акций, как в прошлом году, пока не предусмотрено.
Пробежался сейчас по справке PHPStorm, но что-то не увидел — а снипеты быстрые есть у вас? То, есть безо всяких нажатий Ctrl+ и так далее, заданный мною кусок кода, сам вставляется после набора присвоенных ему символов и нажатия пробела после них.

Вот сейчас в текущем редакторе, всё мое PHP программирование сводится к набору примерно следующего текста:
fn mq wrw notr fe fq

Вместо этого, автоматом на экране появляются заданные мною, функции и много-строчные SQL ит PHP конструкции, суммарно на пяток листов текста — 15 букв — и 5 лисов кода готово, без всяких контролов и прочей лабуды. Есть такое в PHPStrom?
Это я видел, но там, либо я не смог разобраться, либо оно не так работает, как я написал. Там всплывает список этих сохраненных кодов и нужно выбирать. А так, чтобы ничего не всплывало и не мешало — а просто по памяти, набрал 2 буквы — пробел (да пусть даже и Tab будет) и сразу кусок кода.

Чтобы не моргали эти бесконечные раздражающие всплытия — вроде нет такого?
UFO just landed and posted this here
Да, конечно есть! Называются Live Templates, список вот тут Preferences | Editor | Live Templates, там же можно добавить.
Работают точно, как вы описали: печатаете например fore и нажимаете tab.
Есть даже взять готовые подборки на гитхабе или сделать свою, вот тут можно почитать об этом: blog.jetbrains.com/phpstorm/2018/10/sharing-code-snippets-in-phpstorm-easy-way
Нет, там на картинке в хэлпе, при печатании всплывает список, нужно выбрать что-то конкретное и потмо нажать Tab. А так, чтобы без всяких всплытий, всяких раздражающих списков, сразу по памяти набрал две буквы, пробел — код на этих буквах у тебя в редакторе.
Выбирать надо, если он не первый в списке, но обычно лайв темплейты в самом верху и отлично работает по табу без выбора.
Вот например я использую кастомный cl и потом стандартные pubf, fore и eco:
Возможно к этой дергатне со всплытиями и можно привыкнуть, нужно просто подольше потренироваться. Но меня это раздражает до уровня «разбить монитор и голову разраба этого» :)

Отключите Code Completion (что бы это окошко не появлялось самостоятельно) и вызывайте его вручную когда надо (Ctrl+Space как правило)

Есть, даже с учетом контекста, но Tab прийдется нажимать после каждого снипета.

UFO just landed and posted this here

Грубо говоря да, можете. RMB по docker-compose.yml > Create "docker-compose.yml"… В новом окне в поле Compose file(s) указываете все нужные файлы: они будут переданы с -f ключом.

UFO just landed and posted this here

Там откроется Docker tool window. Слева будут кнопки docker-compose down и docker-compose stop

UFO just landed and posted this here

Никаких ошибок не выдаёт? Можете связаться с нами напрямую через Help > Contact Support и приложить скриншоты — посмотрим что не так.

Спасибо за релиз!
Отдельное — за включение существовавших фич по-умолчанию :-D.
Я слишком старый чтобы когда-либо их включить, а оказалось действительно удобные. Не стесняйтесь так делать и в будущем.
По-моему, short closures это более ожидаемая фишка чем типизированые поля
Соглашусь, что дело вкуса :-) Кстати, short closures в этом релизе тоже поддерживаются, но быстрые фиксы для преобразования будут в 2019.3.
Как раз к релизу 7.4, это хорошо

Вот что смущает во всех JetBranis продуктках — то что они каждый релиз в новую папку ставят, и потом накапливается куча не самых легких по объёму папок которые приходится периодически чистить. Допускаю что так сделано для удобства откатов на старые версии, но было бы здорово, если б после агрейда оно спрашивало — оставить или удалить прошлую версию.

Если ставите через тулбокс, то там в настройках есть галочка «keep only the latest version»

Галочка была включена, но не отработало — новые релизы создали новые директории .ProductName2019.2

Действительно, про директории конфигов я и забыл :(
Да, их бы тоже автоматически подчищать не мешало

после распаковки кидайте в bin/idea.properties старый файлик
главное чтобы были раскомменчены ну и поправлены на нужный конфиг


idea.config.path=${user.home}/.config/PhpStorm
idea.system.path=${user.home}/.local/share/PhpStorm

Тоесть распаковали, закинули, запустили.
А вообще лучше еще
phpstorm64.vmoptions
phpstorm.vmoptions
а то дефолтно с памятью проблемы.

Подскажите, чем отличается новая функция «Сравнение текущего состояния с любой веткой» от «Правая кнопка на корне проекта, Git, Compare with branch»? Не могу разобраться.

«Сравнение текущего состояния с любой веткой» показывает также текущее состояние working tree.
Вы можете вызвать оба действия одновременно и посмотреть на разницу.

Автоопределение SQL начинающихся с WITH поправили? Престо невероятно нервирует каждый раз руками это дело указывать, особенно с учетом того факта что при перезагрузке возможно снова придется.

Кстати не смотря на все настройки параметров, параметр в запросе вида «select * from dual where dummy in (select * from table(:params))» будет подсвечен красным как неизвестная таблица.
Нет, к сожалению, мы всё ещё не включаем паттерн WITH по умолчанию (https://youtrack.jetbrains.com/issue/WI-29643 для рефернса).

Хорошая ссылочка, добавил паттерн «WITH.*AS.*SELECT», полегчало.

По поводу второго — да, действительно проблема. Можете зарепортить нам на youtrack.jetbrains.com/newIssue, проект DBE.

На этот раз слегка лениво, можете сами себе зарепортить?
А как настроен параметр, который обрабатывает такой случай?
Непонятно :( Покажите плиз скрин настроек user parameters
Не сразу понял о чем вы.
Вот паттерн :(\w+)
В новом PHPStorm явно изменилась логика индексации. Ранее индексация съедала весь процессор и длилась секунд 20. Сейчас то же самое заняло 40 секунд при средней загрузке в 60%. Это явно было сделано специально потому что иногда реально бесило когда комп начинал резко тупить пол минуты. Но хотелось бы какой-то настройки для тех кому все же нужно чтобы индексация прошла максимально быстро.

Честно говоря, не вижу в release notes подобных изменений (не исключено что я просто пропустил). Не может ли это быть связано с hardware throttling вашей системы? У меня индексируется всё так же на 100% загрузки.

Может быть связано с чем-то другим, но точно не с тротлингом.

Встретил детектор дублирования кода ещё релиз-ноты не прочитав — реально круто.


А вот с подсветкой кода: есть/планируется возможность открывать, а в идеале аттачить к phpstorm файлы/проекты на других языках с открытием их в соответствующей IDE? Ну, например, go в PHP проекте открыть в goland и наоборот? В мире микросервисов, где в одном бизнес-проекте могут быть десятки технических проектов на нескольких (в нашем случае 4) языках, глубокая интеграция между разными IDE была бы очень полезна. All-in-one крутая лицензия для таких проектов (досрочно продлил увидев новую фичу с детектором дублей), но это чисто юридический аспект.

Схожая возможность обсуждается здесь: https://youtrack.jetbrains.com/issue/IDEA-65879 — открывать файлы протоколом вида idea://open?file=/.... В целом, при работе с несколькими языками проще просто установить IntelliJ IDEA Ultimate и добавить в неё необходимые плагины, например PHP + GO.

А Java плагины отключить в ней можно, чтоб ничего не напоминало?

А я вот заметил, что если пользоваться штормом на работе и дома и хранить файлик с паролями на Google-диске, то потом там набирается несколько десятков копий этого файлика, и все пароли от деплоев периодически слетают.

Это немного "несекьюрно". Если вы имеете в виду файл c.kdbx, то он шифруется используя уникальную комбинацию юзера и железа, на котором этот файл открылся. По умолчанию, этот файл не откроется на другом ПК, если его просто скопировать и "скормить" существующей инсталляции PhpStorm. Можете задать Master Password для этого файла и тогда сможете его копировать между инсталляциями: https://www.jetbrains.com/help/phpstorm/reference-ide-settings-password-safe.html

Не планируется ли добавить проверку совместимости нового релиза с ранее установленными плагинами? Чтобы не давало обновиться, если они не будут работать

А как вы себе это представляете? Автор плагина должен полный список поддерживаемых версий вести?

Сейчас плагин отключается если не совместим с текущей версией IDE — значит где-то есть эта информация в метаданных плагина

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

При компиляции плагина можно задать until-build, но как правило плагины устанавливают только since-build, надеясь, что в последующих версиях плагин тоже будет работать. Если сейчас требовать от всех until-build, то сразу отвалится существенная доля плагинов.

PS
PS. Если у разработчика плагина нет лицензии на Ultimate версию, то ему нужно снести текущий триал и установить новый (оставим в стороне вопрос легальности этого после окончания испытательного срока), установить ряд необходимых плагинов, пересобрать плагин, проверить его и загрузить на plugins.jetbrains.com. В итоге, если разработка плагина ведется просто в свое удовольствие и нового функционала пока не добавляется, то не имеет смысла тратить время на еженедельное тестирование плагина в EAP, потом в RC, и в релизе, чтобы гарантировать работоспособность.
Разработчикам плагинов легко дают опенсорс лицензию на ультимейт. С этим нет проблем.

Даже если плагин не опенсорс?

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

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

Заметил, что в новом функционале для докера, который выводит список файлов, список выводится только Debian подобных дистрибутивов, например для того же Alpine список не выводится

фикс на этот счет будет?

О, я уже заметил, но ещё не разобрался. Если фикса не будет, то будет ещё один довод в пользу Debian подобных дистрибутивов :)

Почему смешно? Хороший DX — один из критериев выбора того или иного стэка в целом. Alpine vs Debian/Ubuntu не исключение.

Именно, что во всех. Есть как плюсы, так и минусы.

согласно википедии, Alpine не является Debian-подобным дистрибутивом, и как тут уже написали, другая весовая категория

"vs" должно намекать, что я противопоставляю Alpine и Debian-подобные дистрибутивы.

еще вопрос
планируется ли добавить редактирование файлов в этом функционале? или так и останется read-only?
UFO just landed and posted this here
было бы что там скринить… просто выводится сообщение, что не удается получить данные о ФС, и что контейнер может не поддерживаться
Безрамочный режим в win шикарная штука! Планируется ли такое под линуксы?

Должен быть. Если на 2019.2 у вас нету — возможно проблема во взаимодействии с вашим windows manager. Можете написать нам через Help > Contact Support чтобы разобраться детальнее.

Поправка: для Linux в данный момент этой фичи нет, я не правильно понял слова разработчика.
Наверняка и для Linux подобное планировалось, но вернее всего будет добавить новый feature request на эту тему на нашем трекере: https://youtrack.jetbrains.com/newIssue

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

Планируется ли уменьшение потребления оперативной памяти PhpStorm'ом в 10 раз?

Попробуйте пометить "excluded" такие папки как tmp, log, images и cache: в общем все те, которые не необходимы для code completion.

Совет хороший, которым к слову я года три как пользуюсь. Но вместе с тем.

Практически пустой новый лёгкий проект, файлов с кодом буквально десяток, ноль тяжёлых и вообще каких-либо фреймворков, ноль зависимостей вида npm/composer/etc. Темпов, кэшей, логов пока нет. Стоковый шторм самой свежей версии, о которой речь в статье, без сарказма и с пониманием, славных его разработчиков. Но — 800 Мб оперативки. На что? Зачем? Я линукс компилирую параллельно с научными расчётами seti@home? Бигдату просеиваю через нейросети и случайный лес? Что помешало шторму уложиться в 20 Мб а не в 800? И что мы можем сделать чтоб к этому придти? Java машина слишком раскидистая и неоптимальная? Лишние зависимости? Неоптимальный код? Недостаточно Lazy loading? Неоптимальные структуры данных?
Hello world — это про 4 Кб, а не про 0,5 Гб. Нынешние тенденции в мире IT собирать конфету из тысячи обёрток и скотча, мягко говоря, пугают и печалят. А ведь могут лучше.

Планируется ли уменьшение потребления оперативной памяти PhpStorm'ом от 10 до 20 раз? Или хотя бы, пусть, в 2-3 раза?
Используйте Блокнот. Ему нужно очень мало памяти.
Безусловно в такой ветке не могло не быть этого комментария)

Мне нравится шторм. Я не хейтер его, если кто так подумал.
Меня очень огорчают современные тенденции развития софта, где чаще фактически гонятся только за фичами, а оптимизацию задвигают на последнее место. Наоборот делать впрочем тоже плохо. Нужен балансный подход, когда оба компонента одинаково важны. Вот и интересуюсь — ребята, а какие у вас планы по оптимизации потребления ресурсов этим конвейером? Может есть офигеннейший роадмап и капитальные таски по этой теме и даже часть уже в работе, а никто ничего не знает. И открываешь PhpStorm 2019.4, а он просто летает и в диспетчере в списке процессов отсортированных по убыванию потребления памяти он далеко не на первых позициях и не сотнями метров её уплетает. И да, и несколько фич при этом появилось. Это же прекрасно!
Открою вам страшную тайну. Версии 2019.4 не будет )
Ну а среда разработки, как и ваш ноут/комп — это рабочие инструменты. В них функционал всегда будет чуток поважнее цены. Это касается в том числе и потребления памяти. Любая виртуалка в которой надо гонять что-то сложнее простенького сайтика будет жрать больше памяти.
Я давно докупил памяти до 32 Гб, чтобы ничего не мешало работе… и ни разу еще не пожалел.

800 Мб оперативки — это объем, который IDE (точнее уже JVM) резервирует себе для нужд. Внутри этих 800 метров и сидит, например, 4 Кб hello world.
Величину оперативки, которую выделяет себе java машина, можно закастомизировать с помощью этой статьи: https://intellij-support.jetbrains.com/hc/en-us/articles/206544869 — значение -Xmx512m.
Я думаю важно понимать что 800 метров оперативки, которые съел PhpStorm — это не 800 метров ТОЛЬКО под PhpStorm. В этих мегабайтах также хранятся и объекты проекта.

Обновил на 2019.2. Слетели все настройки деплоя. Ни одного актуального логина и пароля нет, зато есть те, которые я удалил хз сколько месяцев назад. Ну вот зачем так издеваться над пользователями?(((
UFO just landed and posted this here

После перехода из Райдера очень не хватает простого и понятного поведения. Вот здесь хочется, чтобы Шторм подсказал класс A. Ну и если в методе тайпхинтится интерфейс, то предлагал в первую очередь его реализации.


image


А вообще, классный релиз. Спасибо!

У меня есть схожая проблема, но с неймспейсами…
Создаю новый класс в Proj/Dbal/Models, пишу na<TAB>Models и он мне предлагает все возможные неймспейсы в которых есть Models, а их у меня (с учетом зависимостей) не один десяток. Хотелось бы чтобы нужный был на первом месте.

Подсветка неиспользуемых классов и методов классная штука! Но есть одна проблема, есть классы и методы которые вызываются неявно, например классы контроллеров и методы экшенов в MVC фреймворках, нет ли какого-нибудь PHPDoc маркера чтобы PhpStorm не жаловался на такие классы и методы?
UFO just landed and posted this here
Есть такое. Alt+Enter, Edit inspection profile setting, Entry points, Code patterns.
Когда будет поддержка горячих клавиш на русской раскладке в linux, что бы бубны не доставать?
В каких то ОС работают в каких то нет.
Sign up to leave a comment.