PhpStorm — лучшая IDE. Но не все дефолтные настройки могут подходить. Особенно в новом UI. Что и почему можно поменять? Сейчас расскажу.


TL;DR

Чтобы не было завышенных ожиданий, сразу покажу вид редактора после всех изменений

Смотри не на то, что есть, а на то, чего нет
Смотри не на то, что есть, а на то, чего нет

Верхнее меню

Раньше верхушка редактора состояла из двух полосок (Main Menu и Main Toolbar):

Классика
Классика

В новом UI — одна полоска, с переключением через гамбургер-иконку:

По умолчанию (Main Toolbar)
По умолчанию (Main Toolbar)
При переключении (Main Menu)
При переключении (Main Menu)

Удобно? Не совсем. Перед каждым обращением к меню нужно дополнительно прокликивать иконку переключения. Можно вернуть как раньше? Можно. Правый клик по полоске и выбор пункта "Show Main Menu in Separate Toolbar". Но есть предложение поинтереснее.

Что, если все наиболее часто используемые пункты меню (Main Menu) добавить в панель инструментов (Main Toolbar)? Они станут доступны в один клик, переключение на главное меню будет гораздо реже, а значит не так раздражать.

Например:

Свой Main Toolbar
Свой Main Toolbar
Подробный состав

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

Навигация / Хлебные крошки

Навигация, которая раньше размещалась вверху, перекочевала вниз (в Status Bar). И это как минимум непривычно. А соседство с хлебными крошками и вовсе создает эффект баден-баден.

В конце останется только один (с)
В конце останется только один (с)

Переместить навигацию наверх можно через

View / Appearance / Navigation Bar (Top)

Там же можно снять галочку с опции Show Members, чтобы отображался только путь до файла

Почему не нужен Show Members

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

Ну а Хлебные крошки вообще убрать:

Settings / Editor / General / Breadcrumbs: Show breadcrumbs (off)

Вкладки

По умолчанию вкладки отображаются в одну строку:

Отображение вкладок в режиме One Row
Отображение вкладок в режиме One Row

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

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

А есть альтернативы? Даже две!

Первая, многострочный режим отображения вкладок:

Settings / Editor / General / Editor Tabs: Show Tabs in = Multiple rows

Отображение вкладок в режиме Multiple Rows
Отображение вкладок в режиме Multiple Rows

Он может показаться стремным, но работать с ним просто кайф! Хотя когда строк становится много, приходится самостоятельно подсрезать вкладки (т.е. вручную закрывать по одной, или скопом). И это отвлекает.

Вторая альтернатива — режим отображения в отдельном блоке (например, справа). Настраивается там же: Tab Placement = Right

Режим отображения вкладок вертикально
Режим отображения вкладок вертикально

Посмотрите, сколько еще свободного места на скриншоте! При таком варианте на экране действительно помещается 20-30 вкладок (против 5-10 при выводе в строку). И независимо от их количества, область с кодом остается неизменной по высоте. Но привыкнуть сложнее.

Если только вы не..

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

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

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

Settings / Editor / General / Editor Tabs: Tab Order: Open new tabs at the end

Хотя даже после этого мозг по привычке будет продолжать заниматься спонтанным поиском.

Там же можно отключить отображение расширений (Show file extension) и иконок (Show file icon). Ведь все равно 99% файлов — это классы. А экономия пространства и снижения визуального шума — всегда хорошо.

Еще один спорный момент — максимальное количество открытых вкладок. По дефолту это число 10, после чего самая неиспользуемая вкладка закрывается. Что вызывает праведный гнев! Ибо кто смеет за меня решать, когда закрывать вкладку. Знаете как долго я ее искал?

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

Панель Статус бар

Убрать. Что?! Уж статус бар то чем не угодил? Он же такой милый, показывает сколько выделено строк и символов, кодировку, позицию курсора и еще много другой "полезной" инфы.

Статус Бар - мастхэв любой IDE
Статус Бар — мастхэв любой IDE

Ну ладно, если так, то не убирать, но скорее из-за привязанности и прокрастинации. Или если придумали отображать там что-то реально нужное.

Поиск

О, Поиск! Хочу детей от его создателей! Как же он хорош! Но, хоть в это и сложно поверить, раньше было еще лучше. Пока где-то в 2018 году не произошло что‑то странное — введен лимит на количество выдаваемых результатов в размере 100. К счастью, это можно изменить:

Settings / Advanced Settings: Find/Replace: Maximum number of results to show in Find in Files/Show Usages preview

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

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

Xdebug

У PhpStorm отличная интеграция с Xdebug!

Zero-configuration

Zero означает, что если вы не в курсе, как настроить дебаг, то шансов сделать это самостоятельно ноль. Если только вы интуитивно не переключите интерпретатор на существующий контейнер, создадите Service с правильным именем, перезагрузите PhpStorm после изменения порта прослушки (если нужен нестандартный), а также замапите директории (ждать автоматизации на основе docker-compose.yml не приходится).

Панелька дебага всегда бравировала (и правильно делала) расширенным набором возможностей. Но с выходом нового UI что‑то пошло не так, и из основного набора исчезла стрелочка перемещения к позиции курсора (RunToCursor), и окошко для выполнения кода (EvaluateExpression).

К счастью, эта панель кастомизируется, поэтому можно все вернуть обратно:

Возвращаем панели Xdebug былое величие!
Возвращаем панели Xdebug былое величие!

Кстати, заодно открыл для себя Force Run To Cursor, который сразу перемещается в строку с курсором, даже если по пути есть другие брейкпоинты.

Git

Когда-то список изменений отображался во вкладке основного окна Git

Хотите вернуть старый добрый Local Changes?
Хотите вернуть старый добрый Local Changes?

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

В общем, вернуть обратно можно так:

Settings / Version Control / Commit: Use non‑modal commit interface (off)

Там же можно активировать автоматическое причесывание кода (Commit Checks: Reformat code, Optimize imports, Rearrange code), но лучше все-таки вызывать специализированные инструменты через pre-commit хук.

Еще, можно переложить на IDE заботу о том, чтобы все файлы завершались пустой строкой:

Settings / Editor / General / On Save: Ensure every saved fle ends with a line break

Горячие клавиши

Не буду навязывать (внезапно), весь свой набор переопределений. Здесь всегда все слишком индивидуально. Но парочку упомяну:

F2 — рефакторинг/переименование (дефолт Shift + F6).

Ctrl + O — открытие директории с файлом в ОС ("Show in File Manager")

Ctrl + S — сохранение файла на удаленном хостинге ("Upload Current Remote File")

Alt + близко расположенные символы — хорошие кандидаты для замены часто вызываемых команд.

Причесать код одним махом

Можно отформатировать код, оптимизировать импорт, и реорганизовать методы класса одним вызовом Ctrl + S. Для этого нужно зайти в настройки:

Settings / Tools / Actions on Save

и активировать все необходимые действия.

Ништяки

Порой скопируешь что-то, а потом вместо вставки нажмешь еще раз Ctrl + C. В результате буфер затирается пустым значением. Знакомый случай? Так вот, можно попросить PhpStorm помешать этому:

Settings / Advanced Settings: Editor: Don’t copy/cut the current line when invoking the Copy or Cut action with no selection.


От случайного перетаскивания окон можно оградить себя здесь:

Settings / Advanced Settings: Tool Windows: Allow dragging tool windows by header to move to another location (off)


А сколько раз вы хотели закрыть редактор и пойти отдыхать, но в последний момент PhpStorm запрашивал подтверждение закрытия. Вы отказывались, и продолжали работать. Чтобы впредь такого не было, можно отключить это поведение здесь:

Settings / Appearance & Behavior / System Settings: Confirm before existing IDE (off)


Открыть проект в новом окне или текущем? Чтобы каждый раз не отвечать на этот очевидный вопрос, можно указать ответ здесь:

Settings / Appearance & Behavior / System Settings: Project: Reopen projects onStartup = New window.


Настройка автоматического импорта связанных классов при вставке кода:

Settings / Editor / General / Auto Import: PHP: Insert imports on paste = All (+ активировать все пункты под ним).

И это все?

Да, все что знал. Если на ваш взгляд что-то еще можно улучить в дефолтном поведении PhpStorm, то расскажите, пожалуйста!

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


  1. aixx
    31.12.2023 15:15
    +10

    это все хорошо, но есть хоть кто-то кому новый UI нравится? Я боюсь что однажды старый удалят и прийдется принудительно мучиться с новым. Пару раз просыпался уже в холодном поту.


    1. Notactic
      31.12.2023 15:15
      +3

      Есть :D

      Как я понял, идеология intelliJ - выбросить мышку из рабочего процесса. Мне менее нагруженный интерфейс нравится больше.


    1. tongohiti
      31.12.2023 15:15
      +5

      Новый UI ужасен. И, наверное, даже не тем что он плох сам по себе (а он плох), но в основном тем, что он непривычен. Пользуюсь IDE'шками от JetBrains много лет: начинал, кажется, с IDEA 3.0, когда кроме IDEA ничего больше и не было, только Java, только хардкор. Это сколько ж лет? Наверно 20 или около того. И вот, все эти 20 лет осваиваешь IDE, привыкаешь к каким-то вещам, доводишь действия до автоматизма. А потом приходят какие-то новые маркетолухи в компанию, и говорят дескать вам неудобно, уж мы-то знаем. И начинают переворачивать всё с ног на голову. Причём делают это не в один заход, а на протяжении лет медленно медленно варят эту лягушку. В каждой новой версии IDE что-нибудь да поменяют. У меня лично уже глаз дёргается каждый раз когда IDE предлагает обновиться, особенно мажорно. Очень, очень, очень невероятно раздражает. И каждый раз приходится искать настройки чтобы вернуть как было.

      Так что 90% того, что перечислено в статье я тоже делаю, просто потому что так было изначально, это действительно было удобно, и что самое главное - к этому уже тупо привык, а переучиваться - то ещё занятие. Ещё, помнится, в какой-то момент они поменяли иконки, старые и немодные многоцветные понятные иконки заменили на новые модные смузи-минималистические однотонные. Помню, прям кирпич отложил, когда увидел. Потом долго ставил плагин "Classic IDE icons" или как-то так он назвался, иначе вообще полная растерянность, и непонятно что где на тулбаре. Но постепенно появлялось всё больше новых иконок, у которых не было старых аналогов, и с плагином всё начинало выглядеть как мешанина старого и нового. Постепенно сдался, но привыкание к новым иконкам заняло пару лет. Хочется пожелать маркетолухам отдельного котла в аду за этот незабываемый экспириенс.

      Но. Критикуя - предлагай. Как бы я хотел видеть все эти нововведения? Никак. В идеале - отдельная версия IDE, типа выпускать сборки Classic и Smoothie. И пусть вторую качают неофиты (и потом плюются). Но наверно это бы привело к ненужной фрагментации экосистемы. Либо сделать переключатель New Look / Old Look. Да, он вроде как есть, но меняет он далеко не всё. Очень бы хотелось, чтобы old look выглядел в точности как раньше, включая иконки, расположение и наполнение тулбаров и окошек, все эти немодальные диалоги коммита и прочее прочее. Сейчас переключатель как бы и есть, но толку от него мало - всё равно чтобы вернуть "как было" приходится перелопачивать довольно много настроек, двигать окошки и т.п.

      И да. Несмотря на всё это ворчание - IDE'шки от JetBrains лучшие. Использовал многие из них, и вот сейчас перешёл с CLion на свежую RustRover, которая уже вполне юзабельна. Спасибо команде JetBrains за ваш труд!


      1. Nnnnoooo
        31.12.2023 15:15

        Согласен.
        Новое UI явно код ради кода. Отдел дизайна доказывал свою необходимость. Такая же хрень как с firefox и thunderbird (здесь новый диз вообще треш и угар)


      1. YourDesire
        31.12.2023 15:15
        +1

        20 лет? Ничего не было?

        NetBeans: ну да, ну да, пошел я...

        И, к слову, шторм прям очень не сразу стал лучше, чем вышеупомянутый. Это, конечно, субъективно. Но это общее мнение, среди моих коллег.


    1. Helldar
      31.12.2023 15:15
      +1

      Мне тоже новый уй нравится. Первую версию они выкатили кривую и с проблемами, а вот начиная со второй уже всё исправили.

      Конечно, интерфейс настроен не так как у ТС, но, сам по себе он даже удобнее чем старая версия.


    1. mrlobaker
      31.12.2023 15:15
      +1

      Перешёл на него сразу как он появился - мне нравится больше старого (особенно после того, как неровности и баги подправили). Обратно возвращаться желания у меня нет, хотя признаю, что выбор - это хорошо, и в идеале переключатель вида должен остаться. Жаль только, что мир неидеален...


  1. oxyage
    31.12.2023 15:15
    +2

    Я бы ещё предложил в блок про вкладки вариант совсем их скрыть. Переключаться CTRL + Tab

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


    1. psycho-coder
      31.12.2023 15:15
      +1

      Еще может помочь Ctrl+E или двойное нажатие по шифту. Но это в дефолтных настройках


    1. Nnnnoooo
      31.12.2023 15:15
      +1

      Это может работать только на микропроектах. В реальности открыто дофига и больше вкладок и придется перебирать все. И это явный бред


      1. DmitriyGordinskiy
        31.12.2023 15:15

        Ctrl + E открывает похожий список с возможность фильтрации по названию.
        Тоже отказался от табов в пользу Ctrl + N \ Ctrl + E \ Ctrl + Tab \ Ctrl + Alt + Right \ Ctrl + Alt + Left


        1. Nnnnoooo
          31.12.2023 15:15

          Вам это удобнее? тогда ок, больше нет вопросов.
          Вместо 1 клика мышкой с минимальной когнитивной нагрузкой - делаем кучу дополнительных действий с клавы, предварительно напрягшись и потеряв поток разработки.

          Именно небольшой набор контрастных цветных иконок работает для часто используемых задач, а новомодные тусклые монохром нет. только потому что надо в разы больше напрягаться чтобы различить эти иконки между собой (при постоянном использовании)

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


          1. DmitriyGordinskiy
            31.12.2023 15:15

            Начну с того что не пытаюсь никого переубедить в том кому как удобней. Вопрос привычек, предпочтений и опыта работы с конкретной конфигурацией.

            Вам это удобнее?

            Да. Я никогда эти шорткаты не заучивал. Увидел -> решил что это удобней чем навигация мышкой -> начал использовать. Пол года назад обнаружил что табы вообще не использую и выключил их.

            Вместо 1 клика мышкой с минимальной когнитивной нагрузкой

            Вместо того чтобы тянутся к мышке, а потом обратно, я жму клавиши которые вот уже под руками. Когнитивной нагрузки это создает не больше чем нажать F для очередного foreach.


  1. Tony-Sol
    31.12.2023 15:15
    +2

    PhpStorm — лучшая IDE

    False. IDEA Ultimate — лучшая IDE

    А если серьезно - получилось действительно неплохо, применю для себя пару решений


  1. Helldar
    31.12.2023 15:15
    +1

    Парой скопируешь что-то...

    Порой, а не парой. Чьей парой?)


  1. LaserPro
    31.12.2023 15:15
    +5

    Порой скопируешь что-то, а потом вместо вставки нажмешь еще раз Ctrl +
    C. В результате буфер затирается пустым значением. Знакомый случай?

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



    1. shornikov
      31.12.2023 15:15
      +1

      Пользователи Win10+ - могут воспользоваться и системным буфером. Но зачем, раз, оказывается, есть такая хорошая Галочка.


  1. CrazyLazy
    31.12.2023 15:15
    +2

    О, Поиск! Хочу детей от его создателей! Как же он хорош! Но, хоть в это и сложно поверить, раньше было еще лучше. Пока где-то в 2018 году не произошло что‑то странное — введен лимит на количество выдаваемых результатов в размере 100.

    Но "Find in Files" это по большому ведь пред-просмотр (preview). Да, много функциональный (можно редактировать тут же) и прочее, но все таки. Хотя для быстрого или небольшого поиска и замены самое то.

    Он ведь ищет как можно быстрее в несколько потоков, и если много результатов, то они могут отображаться в разном порядке и т.д. и т.п... Не лучше ли в таких случаях использовать "Open in Find Window" кнопку там и работать уже со всеми найденными вхождениями (даже если их хоть 10 тысяч)? И сгруппировать по файлу/папке можно, и никуда не пропадает (ибо отдельный tool window).

    Раньше ведь поиск так и работал: диалоговое окно сначала и только потом результат. Там где то в 2016-2017 были эксперименты, и пред-просмотр был в отдельной вкладке стандартного поискового диалога, что естественно было неудобно.


    1. vodevel Автор
      31.12.2023 15:15

      Понимаю) Подобные излишне пафосные высказывания о поисковом инструменте выглядят нелепо и даже ламерски. Ведь есть же специализированные средства под конкретные задачи: дебаг, профайлинг, визуализаторы, навигация по синтаксису в конце концов.

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

      Кстати, во время таких мозговых штурмов, чтобы окно не пропадало, его можно зафиксировать (иконка Pin в правом верхнем углу).

      А Find Window используется как тягач, позволяющий выполнить кропотливую обработку, но без возможности изменить курс. Хотя он тоже красавчик, это точно!


  1. deathcatcher
    31.12.2023 15:15
    +1

    Новый / Старый UI. Сложу буквы ниже, из своего мнения, можете смело пинать(не обидчивый).
    Мне было сложновато перейти на новый UI, глаз дергался, мозг иногда скрипел, но таки перешел, и привык. Хочется назад(в будущее) старый? НЕТ, однозначно нет!
    Почему многим не нравится и тяжело, банально привычка, людям(скоплению серого вещества в организме) нравятся привычки, а менять привычки это стресс и требует усилий.
    Почему стоит дать НОВОМУ шанс, хотя бы на недельку-другую. Поэтому я все же перелез и не жалею, как минимум, ради того чтобы мозгу было немного некомфортно, а как максимум - ТЫЖ ПРОГРАММИСТ, где твой дух новаторства в конце концов, ты не ноем перед задачами в разы сложнее, а тут всего-то инструмент интерфейс поменял. Ну и бонусом облегчающим переход будет использование пламенных клавиш, если вы ими уже пользуетесь, то переход становится в разы проще.