Phpstorm грузит процессор на 100

Обновлено: 04.07.2024

В данной статье я хочу описать несколько настроек, которые я изменил в PhpStorm для удобства работы. PhpStorm можно настроить под себя один раз, а потом использовать включенный в программу удобный экспорт/импорт настроек, с помощью которого можно переносить настройки с одного ПК на другой или сохранять их при переустановки ОС.

PhpStorm делит настройки на глобальные, которые применяться автоматически при создании нового проекта и настройки проекта, которые индивидуальные для какого либо конкретного проекта и не распространяются на другие.

Настройки проекта меняются при открытом проекте, достаточно открыть настройки (File -> Settings) и большая часть настроек будет относиться к открытому проекту.
Чтобы сделать настройку общей для IDE и применять её автоматически для всех новых проектов необходимо закрыть проект и нажать на Configure -> Settings

Замена пробелов на табуляцию

В своих проектах я использую отступы в виде табуляции, PhpStorm по-умолчанию делает таб из четырёх пробелов. Поэтому это первая настройка, которую я поменял.

Чтобы PhpStorm создавал таб из табуляции, а не из 4 пробелов необходимо зайти в настройки (File -> Settings), открыть вкладку Editor -> Code Style.
Нас интересуют вкладки PHP и HTML (конечно вы можете поменять настройку и для других типов файлов). Выделяем вкладки по очереди и ставим галочку напротив пункта Use tab charater.


Мы можем сделать это настройкой проекта или настройкой для всех новых проектов. Я делаю это как настройка для всех новых проектов, для этого в выпадающем списке Scheme выбираю значение Default IDE.


Чтобы видеть табуляцию и пробелы в открытом файле заходим все в те же настройки, выбираем Editor -> General -> Appearance ставим галочку напротив Show whitespace.


Защита от перезаписи

Данная настройка полезна для проектов без Git и в любых проектах, где может оказаться, что над одним и тем же файлом работаете не вы одни.

PhpStorm может проверять не изменился ли файл на сервере. Открываем настройки Build, Excution, Deployment -> Deployment -> Options

В опции Warn when uploading over newer file выбираем значение Compare content и ставим галочку напротив пункта Notify of remove changes.


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


При нажатии Merge and upload мы можем сравнить файлы и загрузить файл содержащий изменения, внесённые нами и изменения, которые появились на сервере.


Также рекомендую изменить опцию Upload changed files automatically to the default server на значение On explicit save action (Ctrl+S)
С данной опцией будет происходить автоматическая загрузка файла на сервер при нажатии комбинации клавиш Ctrl + S


PhpStorm загружает на сервер загруженные на локальный компьютер папки

Во время работы PhpStorm я столкнулся с интересной особенностью, созданные в проекте файлы имеют приоритет на удаленными файлами (файлами сервера), что может привести к затиранию папок на сервер. Например если вы перенесли в папку проекта папку, с таким же названием как на сервере. Чтобы избежать подобного поведения заходим в настройки Build, Excution, Deployment -> Deployment -> Options и ставим галочку напротив пункта Skip external changes

Давайте я тоже поддержу межблоговые дискуссии и отвечу Илье. А ответить есть что.

Уже лет 5 я использую PhpStorm как один из основных инструментов. Как такое могло произойти, если среды разработки — уродские и тормознутые? Давайте разбираться.

Переход на PhpStorm

Раньше я программировал в Notepad++. Вершина его функций — поиск и замена по всем файлам в папке. Казалось, этого вполне достаточно. Мне тоже нравилась скорость работы редактора, и я тоже относился к IDE снисходительно. «Я и так знаю названия функций, нахрена мне тормознутая подсветка синтаксических ошибок в коде?»

Я не помню, что заставило меня скачать PhpStorm. Мне могли понадобиться возможности, которых не было в плагинах к Notepad++. Или я заинтересовался, что же находят в нем люди. Помню только, что он подсвечивал желтым слишком много подозрительных мест в моем коде.

Тем не менее, PhpStorm у меня прижился. Как автор опенсорсного продукта — движка S2 — я получил бесплатную лицензию. С тех пор PhpStorm стал одним из основных моих инструментов.

Миф №1: PhpStorm тормозит

PhpStorm как IDE отличается от текстовых редакторов:

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

PhpStorm как редактор не хуже Notepad++. С той же скоростью появляются буквы и перемещается курсор. Поиск работает мгновенно за счет индексации. Анализ кода работает в фоне и может отставать от курсора. Но в этом большой проблемы нет, потому что сначала программист пишет код, а потом смотрит на подсказки среды разработки.

Миф №2: переименование файла занимает в PhpStorm несколько секунд с прогресс-баром

Зависит от того, что нужно программисту. PhpStorm способен искать вхождения старого названия файла по всему проекту и по контексту определять, нужно ли это название изменить. Альтернатива в обычных редакторах — поиск и замена по всем файлам — занимает несколько минут рутинной работы. Экономия времени на два порядка.

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


Миф №3: PhpStorm «устанавливать и настраивать год»

Установка проходит не сложнее установки любых других программ. Первоначальной настройки PhpStorm не требует. Может открыть любую папку как проект без предварительных вопросов.

Настройку дополнительных инструментов делаете тогда, когда они вам понадобятся:

  • путь к git.exe для работы с гитом;
  • доступ к БД, чтобы делать запросы из среды разработки;
  • доступ на сервер по SSH/FTP для загрузки файлов проекта.

Пошаговая отладка через Xdebug настраивается сложнее самой природы . Но если не хотите пользоваться пошаговой отладкой с просмотром значений переменных по всему стеку вызовов, отлаживайте , никто не запрещает :)

Миф №4: PhpStorm «выглядит как говно»

Вкусовщина, конечно. Нормально он выглядит. Внешний вид работать не мешает. Чтобы не приводить зря громадный скриншот, покажу заодно «git blame»:


В следующий раз я расскажу о возможностях сред разработки на примере PhpStorm, которых нет в редакторах, но которые повышают продуктивность работы за счет автоматизации рутины.

Я использую PHPStorm под Win7 64bit С 64bit Java (latest version I guess) и в настоящее время работает над безумно большим и хаотичным проектом. Есть много классов, содержащих 10k LOC и многое другое. Поэтому мой PHPStorm время от времени заканчивается память.

Я получаю это приятно Out-of-Memory диалог, предлагающий увеличить настройки памяти. В настоящее время я установил в своем PhpStorm.exe.vmoptions :

проблема в следующем: когда я увеличиваю свою память для использования в этом файле, я получаю следующую ошибку при запуске программа:

не удалось создать JVM: код ошибки -4

я погуглил вокруг, но никто не хочет, чтобы память была больше чем 512MB .

кто-нибудь знает, что я могу сделать, чтобы использовать PHPStorm без каких-либо хлопот снова?

конечно, я могу сбросить кэш, но это не окончательное решение, да?

Я где-то читал, что добавление этой строки в мой vmoptions хорошая идея, но я не вижу никакой разницы:--12-->

убедитесь, что PhpStorm использует 64-битную Java и не входит в комплект (32-бит). Вы проверяете, что в Help | About .

вообще говоря: с 64-битной Java вам не нужно менять это значение, поскольку оно работает немного по-разному по сравнению с 32-битным.

1) PhpStorm поставляется в комплекте с x86 Java, и это первый, который он пытается; только тогда он ищет другие установки Java -- check PhpStorm.bat для деталей (какая среда переменные и в каком порядке). Определив одну из этих переменных среды (которая будет указывать на вашу 64-разрядную установку Java), вы можете сказать PhpStorm использовать вместо связанного.

2) PhpStorm именно v8 (в настоящее время в стадии EAP) поставляется с 64-битными конкретными файлами: вы должны использовать PhpStorm64.exe , а не PhpStorm.exe (для .vmoptions файл -- это должно быть PhpStorm64.exe.vmoptions ).

Я не уверен, как PhpStorm v7 работает с 64-битной Java - никогда не пробовал это как я.

выбор версии JDK, которую IDE будет запускать под

enter image description here

изменение настроек памяти для PHPStorm теперь имеет опцию меню:

в конце концов понял, что у меня отслеживается. Такие папки с тоннами javascript-файлов et.c. будет в основном есть все барана в мире (я также исключаю node_modules папка теперь, та же история). Поэтому я щелкнул Правой Кнопкой Мыши папку > отметить каталог как > исключено. После некоторых сбор мусора, наткнулся на след памяти PhpStorm до 5-600mb, что кажется разумным.

PhpStorm 2016.1 и новее

по состоянию на PhpStorm 2016.1 вместо WEBIDE_JDK_64 нужно использовать JAVA_HOME переменная среды, которая должна указывать на ваш путь JVM.

версии до PhpStorm 2016.1

Как упоминалось в ответе @Lazyon, начиная с PhpStorm v8 (уже выпущенного), вы можете использовать PhpStorm64.исполняемый. Но я не смог найти никакого описания того, как указать путь JVM для него. Документ, который объясняет, как выбрать версию JDK, кажется, немного устарел.

после некоторых исследований, я обнаружил, что вы должны создать WEBIDE_JDK_64 переменная среды, которая должна указывать на 64-разрядный путь установки JRE. После этого вы сможете запустить PhpStorm64.исполняемый.

по умолчанию он устанавливает max memory в 750mb . Если вам нужно больше, вы можете изменить C:\Program Files (x86)\JetBrains\PhpStorm 8\bin\PhpStorm64.exe.vmoptions . Однако лучше всего было бы отредактировать файл vmoptions вашего пользователя. Просто скопируйте C:\Program Files (x86)\JetBrains\PhpStorm 8\bin\PhpStorm64.exe.vmoptions до %USERPROFILE%\.IntelliJIdea12\idea.vmoptions и сет -Xmx750m к более высокому значению.

просто File > Invalidates Caches / Restart. работает для меня.

Я нашел файл журнала в приложении, который вырос с нескольких КБ до более чем 2 ГБ в течение нескольких секунд из-за ошибки. Webstorm пытался индексировать этот файл журнала 2 GB и не хватало памяти. Удаление файла журнала решило проблему (а затем исправление ошибки предотвратило рост файла журнала).

до этого я также попытался запустить x64 JDK и увеличить XMX до 2048. Но в конце концов 64-битной среды с 2048 MB было недостаточно (хотя 512 MB всегда было достаточно до.)

Я использую PHPStorm под Win7 64bit С 64bit Java (latest version I guess) и в настоящее время работает над безумно большим и хаотичным проектом. Есть много классов, содержащих 10k LOC и многое другое. Поэтому мой PHPStorm время от времени заканчивается память.

Я получаю это приятно Out-of-Memory диалог, предлагающий увеличить настройки памяти. В настоящее время я установил в своем PhpStorm.exe.vmoptions :

проблема в следующем: когда я увеличиваю свою память для использования в этом файле, я получаю следующую ошибку при запуске программа:

не удалось создать JVM: код ошибки -4

я погуглил вокруг, но никто не хочет, чтобы память была больше чем 512MB .

кто-нибудь знает, что я могу сделать, чтобы использовать PHPStorm без каких-либо хлопот снова?

конечно, я могу сбросить кэш, но это не окончательное решение, да?

Я где-то читал, что добавление этой строки в мой vmoptions хорошая идея, но я не вижу никакой разницы:--12-->

убедитесь, что PhpStorm использует 64-битную Java и не входит в комплект (32-бит). Вы проверяете, что в Help | About .

вообще говоря: с 64-битной Java вам не нужно менять это значение, поскольку оно работает немного по-разному по сравнению с 32-битным.

1) PhpStorm поставляется в комплекте с x86 Java, и это первый, который он пытается; только тогда он ищет другие установки Java -- check PhpStorm.bat для деталей (какая среда переменные и в каком порядке). Определив одну из этих переменных среды (которая будет указывать на вашу 64-разрядную установку Java), вы можете сказать PhpStorm использовать вместо связанного.

2) PhpStorm именно v8 (в настоящее время в стадии EAP) поставляется с 64-битными конкретными файлами: вы должны использовать PhpStorm64.exe , а не PhpStorm.exe (для .vmoptions файл -- это должно быть PhpStorm64.exe.vmoptions ).

Я не уверен, как PhpStorm v7 работает с 64-битной Java - никогда не пробовал это как я.

выбор версии JDK, которую IDE будет запускать под

enter image description here

изменение настроек памяти для PHPStorm теперь имеет опцию меню:

в конце концов понял, что у меня отслеживается. Такие папки с тоннами javascript-файлов et.c. будет в основном есть все барана в мире (я также исключаю node_modules папка теперь, та же история). Поэтому я щелкнул Правой Кнопкой Мыши папку > отметить каталог как > исключено. После некоторых сбор мусора, наткнулся на след памяти PhpStorm до 5-600mb, что кажется разумным.

PhpStorm 2016.1 и новее

по состоянию на PhpStorm 2016.1 вместо WEBIDE_JDK_64 нужно использовать JAVA_HOME переменная среды, которая должна указывать на ваш путь JVM.

версии до PhpStorm 2016.1

Как упоминалось в ответе @Lazyon, начиная с PhpStorm v8 (уже выпущенного), вы можете использовать PhpStorm64.исполняемый. Но я не смог найти никакого описания того, как указать путь JVM для него. Документ, который объясняет, как выбрать версию JDK, кажется, немного устарел.

после некоторых исследований, я обнаружил, что вы должны создать WEBIDE_JDK_64 переменная среды, которая должна указывать на 64-разрядный путь установки JRE. После этого вы сможете запустить PhpStorm64.исполняемый.

по умолчанию он устанавливает max memory в 750mb . Если вам нужно больше, вы можете изменить C:\Program Files (x86)\JetBrains\PhpStorm 8\bin\PhpStorm64.exe.vmoptions . Однако лучше всего было бы отредактировать файл vmoptions вашего пользователя. Просто скопируйте C:\Program Files (x86)\JetBrains\PhpStorm 8\bin\PhpStorm64.exe.vmoptions до %USERPROFILE%\.IntelliJIdea12\idea.vmoptions и сет -Xmx750m к более высокому значению.

просто File > Invalidates Caches / Restart. работает для меня.

Я нашел файл журнала в приложении, который вырос с нескольких КБ до более чем 2 ГБ в течение нескольких секунд из-за ошибки. Webstorm пытался индексировать этот файл журнала 2 GB и не хватало памяти. Удаление файла журнала решило проблему (а затем исправление ошибки предотвратило рост файла журнала).

до этого я также попытался запустить x64 JDK и увеличить XMX до 2048. Но в конце концов 64-битной среды с 2048 MB было недостаточно (хотя 512 MB всегда было достаточно до.)

Читайте также: