PhpStorm заметки

Собрал на данной странице минимум конфиграции, которую приходится выполнять при установке PhpStorm-а.

PhpStorm - отключаем плагины

Apache config (.htaccess) support не использую 
ASP (Active Server Pages) мощная технология от Microsoft, позволяющая легко разрабатывать приложения для WWW. ASP.
Behat SupportAllows to use Behat BDD test framework for PHP
Blade Supportдвижок шаблона Laravel
Codeception Frameworkфрейвор для создания тестов (монстр - в баню)
CoffeeScript не использую 
Copyright не использую 
CVS Integration устаревший аналог системы Git или Mercurial, расшифровывается Concurrent Version System (последняя версия выпущена в мае 2008 года)
Docker Supportбесполезная вещь
Drupal Support не использую 
Gherkin язык написания тестов с помощью BDD
GitHub не использую 
GNU GetText files support (*.po) не использую 
Google App Engine Support for PHP не использую 
HAML не использую  
hg4idea IntelliJ IDEA plugin for Mercurial integration
Joomla! Supportне использую
Markdown supportочень ресурсопотребляемый плагин, в баню
Perforce Integrationаналог системы Git или Mercurial
Phing Supportсборщик проекта (аналог Ant'а но для PHP)
Php Dockerбесполезный плагин мне кажется, ведь все равно все пользуются консолью
PHP Remote Interpreterмне это не нужно
PHPSpec BDD frameworkплагин делает подсветочку, чтобы мы могли писать BDD тесты (в баню их)
PhpStorm Workshopплагин позволяет создать тестовый проект для изучения возможностей PhpStorm-a
REST Clientерунда, ничего правильнее curl-команд нет и не надо
SASS supportметаязык на основе CSS, предназначенный для увеличения уровня абстракции CSS
SSH Remote Runне пользуюсь
Subversion Integration аналог системы Git или Mercurial
Task Management интеграции с task-системами типа Redmine или YouTrack
TextMate bundles support TextMate один из самых популярных текстовых редакторов для программистов на Mac OS X, а тк я не пользуюсь TextMate, то мне нет смысла в поддержке его плагинов
Vagrantне использую
W3C Schoolне использую
WordPress Supportне использую
XPathView + XSLT Supportне использую
XSLT-Debuggerне использую
Angular and AngularJSне использую

Не удаляю плагины:

IntelliLang пусть остается, это какие-то фичи от idea
Java Server Pages Integration пусть остается, непонятный плагин, т.к. PhpStorm написан на Java
JavaScript Debugger оставляю, т.к. нужнен для LiveEdit 
JavaScript Intention Power Pack оставляем, т.к. иногда пишем на JavaScript
ReStructuredText Supportиспользую на гитхабе 
Hunspellspell checker

Полезные плагины

Php Inspections (EA Extended)

Отключаем подсветку скопированного текста

Уберите галочку тут:

PhpStorm заметки

Включаем Auto-import

Ubuntu (Gnome)

Многие сочетания клавишь PHPStorm не работают, т.к. они по-умолчанию используются в Ubuntu, и ниже я покажу, как я с этим борюсь.

sudo apt-get install dconf-editor

запускаем dconf-editor и отключаем следующий шорткат:

PhpStorm заметки

Теперь заходим в настройки PhpStorm->File->Settings->Keymap и выставляем:

Main menu -> Navigate -> Go to Symbol...Ctrl+Shift+Bищет по именам всех функций/методов
Main menu -> Navigate -> BackAlt+Leftпрогулка по коду влево
Main menu -> Navigate -> ForwardAlt+Rightпрогулка по коду вправо
Main menu -> Window -> Editor Tabs -> Select Next TabCtrl+Page Downпереключалка табов в терминале влево (как в терминале Ubuntu)
Main menu -> Window -> Editor Tabs -> Select Previous TabCtrl+Page Upпереключалка табов в терминале вправо (как в терминале Ubuntu)

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

Автогенерируемые шаблоны

Зайдите в настройки IDE и далее в раздел Editor - File and Code Templates, далее вкладка Includes и удалим текст для:

  • PHP Class Doc Comment
  • PHP Interface Doc Comment
  • PHP Trait Doc Comment
  • PHP Property Doc Comment

а для PHP File Header указываем:

declare(strict_types=1);

теперь переходим на вкладку Code установим такие настройки:

PHP Constructor

/**

${PARAM_DOC}

*/

public function __construct(${PARAM_LIST}) {${BODY}}

PHP Getter Method 7.4 и старше, удалим следующее:

/**

* @return ${TYPE_HINT}

*/

PHP Setter Method 7.4 и старше

public ${STATIC} function set${NAME}(#if (${SCALAR_TYPE_HINT})${SCALAR_TYPE_HINT} #else#end$value)#if(${RETURN_TYPE}): static#else#end 
{
#if (${STATIC} == "static")
    self::$${FIELD_NAME} = $value;
#else
    $this->${FIELD_NAME} = $value;
    
    return $this;
#end
}

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

public function set${NAME}(#if (${SCALAR_TYPE_HINT})${SCALAR_TYPE_HINT} #else#end$${PARAM_NAME})#if(${RETURN_TYPE}): ${CLASS_NAME}#else#end 

    $this->${FIELD_NAME} = $${PARAM_NAME}; 
    return $this; 
}

PHP Setter Method < 7.4

/**
 * @param ${TYPE_HINT} $${PARAM_NAME}
#if (${STATIC} != "static")
 * @return ${CLASS_NAME}
#end
 */
public ${STATIC} function set${NAME}($${PARAM_NAME})
{
#if (${STATIC} == "static")
    self::$${FIELD_NAME} = $${PARAM_NAME};
#else
    $this->${FIELD_NAME} = $${PARAM_NAME};
    return $this;
#end
}

Надоедливая нотификация о непойманном Exception

Долго думая, решил все же отключить данную нотификацию:

PhpStorm заметки

Красный цвет в консоли не виден

Просто измените цвет красного фона (я себе ставлю цвет 6A302E):

PhpStorm заметки

Автоматическое добавление переноса строки в конце файла

Вариант 1

File > Settings... > Editor > General > Ensure line feed at file end on Save (поставьте галочку)

File > Settings
Editor > General > Ensure

Вариант 2

Help > Find Action... (Ctrl+Shift+A) > type "Ensure line feed" > switch the toggle to ON (using the mouse click or Enter) for "Other: Ensure line feed at file end on Save" line

Help > Find Action
Ensure line feed

Отключаем новый Commit

Нажимаем 2 раза Shift и вводим: Use non-modal commit interface в Preferences

Надоедливая подсветка

PhpStorm заметки

Отключаем подсказку синтаксиса передаваемых параметров, способ 1:

PhpStorm заметки

Способ 2:

PhpStorm заметки

Умный автокомплит

У меня он чаще мешает, чем работает - убираем галочку Enable Full Line suggestions:

Php 7

Включаем строгость типов данных:

Shift + Shift, ищем "Missing strict types declaration" и включаем ее.

Сочетания клавиш

PHPStorm очень функционален, но некоторые вещи в нем зарыты глубоко, например:

Ctrl+Shift+M - помогает переместить курсор в начало или конец условия (if).

Alt + / автокомплитит текущий код, например Вы написали JavaScript класс:

var my = {function: run() { 
    this.test(); // Как видите, никакой функции test в данном классе еще нет. Начинаем создавать функцию: 
  } 
  function: te и нажимаем Alt + / и увидим, что IDE сама подставит Вам слово test 
}

Игнорируем кэш

Поиск по проекту, игнорируя кэш можно выполнять, если исключить ненужное:

кликните Правой клавишей мыши по ненужной папке  -> Mark Directory As -> Excluded - этим самым мы исключили директорию из проекта.

Далее, выполняя поиск, он будет выполнен без учетка например кэш директории.

Устаревшие советы

Увеличиваем предел потребляемой памяти

Включаем в настройках Show memory Indicator

Show Memory Indicator PHP Storm

Сохраняем настройки и смотрим справа внизу появится индикатор потребляемой памяти

Индикатор потребляемой памяти PHP Storm

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

Проблема тут в том, что по умолчанию в PHPStorm задан лимит на 512Мб памяти, соответственно, когда у меня в среднем открыто 20-30 файлов или по 10 файлов в нескольких проектах, то работать в нем невозможно, не хватает ему памяти, в 8 версии еще было нормально, редко подвисал, но в 9 что-то совсем-совсем плохо стало.

Ну, а раз памяти не хватает, пробуем ее добавить, в 9 версии все работает. Находим папку, куда установлена программа: PhpStorm\bin\

Тут вам нужен какой-то из двух конфигов, их там два, если не знаете, какой используете, все по умолчанию, то 100% 32-битная версия.

  • phpstorm.vmoptions - eсли вы используете 32-битную версию PHPStorm
  • phpstorm64.vmoptions - eсли вы используете 64-битную версию PHPStorm

Открываем файл в любом редакторе, тут необходимо в параметре -Xmx1024m увеличить значение, например до 1024Мб.

-server 
-Xms128m 
-Xmx1024m 
-XX:MaxPermSize=250m 
-XX:ReservedCodeCacheSize=150m 
-XX:+UseConcMarkSweepGC 
-XX:SoftRefLRUPolicyMSPerMB=50 
-ea 
-Dsun.io.useCanonCaches=false 
-Djava.net.preferIPv4Stack=true

Cохраняем файл, перезагружаем PHPStorm и наслаждаемся легкостью работы PHPStorm)

Ubuntu 16 (Unity)

Поэтому, поправить это можно либо в PHPStorm - Settings - Keymap, либо отключив или изменив сочетания клавишь используемые в Ubuntu - System Settings - Keyboard - Shortcats

Лично я в Ubuntu изменил:

LauncherKey to show the HUD Ctrl+`
NavigationSwitch to workspace leftDisabled
 Switch to workspace rightDisabled
SystemLock ScreenDisabled
WindowsResize windowDisabled
 Toggle shaded stateDisabled

напомню, чтобы выставить Disabled - нужно кликнуть клавишу Backspace

Вот список сочетания клавишь PHPStorm, которые не работают из-за того, что используются в Ubuntu

  • Disable the Shade window action, assigned to Ctrl + Alt + S (Settings dialog)
  • Change or disable the Lock Screen action, assigned to Ctrl + Alt + L (Reformat code)
  • Change or disable the Launch terminal action, assigned to Ctrl + Alt + T (Surround with)
  • Change or disable the Switch to workspace action, assigned to Ctrl + Alt + Arrow Keys(Navigation)
  • Disable the Move window action, assigned to Alt + F7 (Find usages)
  • Change or disable the Resize window action, assigned to Alt + F8 (Evaluate expression)

Перенос строки (Windows)

Укажем, который используется в файлах:

Editor -> Code Style -> Line separator: Unix (\n)

Проблемы с горячими клавишами в русской раскладке

Например не работают ctrl+c, ctrl+v, ctrl+a, ctrl+x. Чтобы исправить, нужно закрыть PhpStorm и выполнить команды: 

cd /opt/lebnik/

git clone https://github.com/zheludkovm/LinuxJavaFixes.git /opt/lebnik/LinuxJavaFixes

nano /opt/lebnik/PhpStorm-138.2001.2328/bin/phpstorm64.vmoptions

и в конец файла добавляем строку:

-javaagent:/opt/lebnik/LinuxJavaFixes/build/LinuxJavaFixes-1.0.0-SNAPSHOT.jar

готово.

Создаем ярлык

После выхода новой версии IDE, приходится создавать новый ярлык в Ubuntu Launcher. Если у Вас нет желания делать это самостоятельно, то советую следующий быстрый способ:

  1. Запускаем PHPStorm из консоли: /home/PhpStorm/bin/phpstorm.sh
  2. В меню PHPStorm: Tools -> Create Desktop
  3. Закрываем PHPStorm и снова запускаем из консоли: /home/PhpStorm/bin/phpstorm.sh &
  4. PHPStorm появляется в Ubuntu Launcher, теперь просто кликните правой клавишей мыши по ярлыку и выберите: Lock to Launcher

готово.

Сочетания клавиш

Перемещаться по раскрытым скобкам (folding: Move Caret to Code Block Start):

Ctrl+[ - вверх

Ctrl+] - вниз

Ctrl+Shift+M - от открывающейся к закрывающейся и назад при повторном нажатии.

Всем удачки.


30.05.2013 11:43

Комментарии

Прыжок к открывающей/закрывающей скобке: Shift+Ctrl+M
21.04.2020 07:05