Friday, January 27, 2012

PhpStorm - Memory usage

Как-то нужно было увеличить память в PhpStorm, чтобы ему легче было развернуться. Чтобы это сделать нужно править файл "%PHPSTORM_DIR%\bin\PhpStorm.exe.vmoptions". И нас интересует параметр "-Xmx". По умолчанию там стоит 500m что означает 500 МБ. Вы можете задать 1 ГБ и это будет выглядеть так: "-Xmx1g". Также можете поставить меньше если необходимо. Если же поставить очень много, то выдаст ошибку "The JVM could not be started. The maximum heap size (-Xmx) might be too large."
Как поставить, например, 2 ГБ, я не разбирался. 1-го ГБ вполне должно хватить.
Напомню что это под Windows. Но под другими системами должно быть что-то подобное.

P.S.
Столкнулся так с проблемой в PHPStorm 6 (EAP) на домашнем компьютере, когда этот параметр сильно завышен. Времени разбираться не было (возможно это из-за окружения) и закоментировал параметр -Xmx и "шторм" завелся.

Thursday, January 26, 2012

PhpStorm - Context

Бывает так что во время работы нужно сохранить состояние в котором мы сейчас находимся в IDE (открытые файлы, навигация, и т.д.), а потом к этому вернуться. Так вот, есть в PhpStorm занимательный инструмент под названием Context. Находится он в меню Tools ⇒ Context, где доступный простые команды Save, Load, Clean.
Save (SHIFT+ALT+S)
Сохранить текущий контекст. Если вы не укажете комментарий, то в списке название будет в виде времени.
Load (SHIFT+ALT+L)
Загрузить контекст. Появится окошко со списком контекста. В целом тут все понятно, но есть один момент. Если вы зажмете SHIFT и выберете контекст, то текущий контест у вас не пропадет - он смержится с загружаемым.
Clean (SHIFT+ALT+X)
Очистить текущий контекст - закроются все открытые файлы, свернется навигатор проекта.

В целом получается что-то похожее на манипуляции с неким рабочим пространством (есть такое в Photoshop), и собственно я бы это назвал и в "шторме" workspace'ом.

Wednesday, January 11, 2012

PhpStorm - Scopes

Примеры и настройки scope'ов в PhpStorm

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

file:app/code//*||file:app/design//*||file:app/etc//*||file:tests//*
Это значит что будут рекурсивно отображаться файлы по путям:
/app/code/
/app/design/
/app/etc/
/test/

file:app/code/core/Mage//sql/*upgrade*.php
В этом примере будут отображаться файлы PHP которые содержат слово "upgrade" и которые вложены в директорию "sql", и эта директория будет искаться рекурсивно по пути "/app/code/core/Mage/"

Ниже в окне редактирования будет видно как ваш фильтр работает. Если выбрать Share score, то ваш скоп будет доступен и для других проектов.