Собрал на данной странице минимум конфиграции, которую приходится выполнять при установке PhpStorm-а.
PhpStorm - отключаем плагины
| Apache config (.htaccess) support | не использую |
| ASP (Active Server Pages) | мощная технология от Microsoft, позволяющая легко разрабатывать приложения для WWW. ASP. |
| Behat Support | Allows 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 | использую на гитхабе |
| Hunspell | spell checker |
Полезные плагины
Уберите галочку тут:


Многие сочетания клавишь PHPStorm не работают, т.к. они по-умолчанию используются в Ubuntu, и ниже я покажу, как я с этим борюсь.
sudo apt-get install dconf-editor
запускаем dconf-editor и отключаем следующий шорткат:

Теперь заходим в настройки PhpStorm->File->Settings->Keymap и выставляем:
| Main menu -> Navigate -> Go to Symbol... | Ctrl+Shift+B | ищет по именам всех функций/методов |
| Main menu -> Navigate -> Back | Alt+Left | прогулка по коду влево |
| Main menu -> Navigate -> Forward | Alt+Right | прогулка по коду вправо |
| Main menu -> Window -> Editor Tabs -> Select Next Tab | Ctrl+Page Down | переключалка табов в терминале влево (как в терминале Ubuntu) |
| Main menu -> Window -> Editor Tabs -> Select Previous Tab | Ctrl+Page Up | переключалка табов в терминале вправо (как в терминале Ubuntu) |
Имейте ввиду: PhpStorm скажет, что указанные сочетания уже заняты, но с уверенностью в 99% могу сказать, что сочетания которые будут удалены, Вы не используете (так же, как и я) + Вы всегда можете увидеть, какие сочетания были изменены, PhpStorm подсвечивает изменения синим цветом + всегда можно откатиться к дефолтному состоянию сочетаний клавишь.
Зайдите в настройки IDE и далее в раздел Editor - File and Code Templates, далее вкладка Includes и удалим текст для:
а для 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
}Долго думая, решил все же отключить данную нотификацию:

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

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


Вариант 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


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

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

Способ 2:

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

Включаем строгость типов данных:
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

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

Вот тут видим сколько ест программа памяти, у меня открыто 20 файлов, загружен проект Битрикс редакция Бизнес.
Проблема тут в том, что по умолчанию в PHPStorm задан лимит на 512Мб памяти, соответственно, когда у меня в среднем открыто 20-30 файлов или по 10 файлов в нескольких проектах, то работать в нем невозможно, не хватает ему памяти, в 8 версии еще было нормально, редко подвисал, но в 9 что-то совсем-совсем плохо стало.
Ну, а раз памяти не хватает, пробуем ее добавить, в 9 версии все работает. Находим папку, куда установлена программа: PhpStorm\bin\
Тут вам нужен какой-то из двух конфигов, их там два, если не знаете, какой используете, все по умолчанию, то 100% 32-битная версия.
Открываем файл в любом редакторе, тут необходимо в параметре -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)
Поэтому, поправить это можно либо в PHPStorm - Settings - Keymap, либо отключив или изменив сочетания клавишь используемые в Ubuntu - System Settings - Keyboard - Shortcats
Лично я в Ubuntu изменил:
| Launcher | Key to show the HUD | Ctrl+` |
| Navigation | Switch to workspace left | Disabled |
| Switch to workspace right | Disabled | |
| System | Lock Screen | Disabled |
| Windows | Resize window | Disabled |
| Toggle shaded state | Disabled |
напомню, чтобы выставить Disabled - нужно кликнуть клавишу Backspace
Вот список сочетания клавишь PHPStorm, которые не работают из-за того, что используются в Ubuntu
Перенос строки (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. Если у Вас нет желания делать это самостоятельно, то советую следующий быстрый способ:
готово.
Перемещаться по раскрытым скобкам (folding: Move Caret to Code Block Start):
Ctrl+[ - вверх
Ctrl+] - вниз
Ctrl+Shift+M - от открывающейся к закрывающейся и назад при повторном нажатии.
Всем удачки.
Комментарии