Vous trouvez que PHPStorm est lent et pas assez performant ? Eh bien moi aussi, j’avais de plus en plus de difficulté à travailler avec tant il se mettait à « freeze » mon environnement sans raison.
Voici une liste de choses à faire pour améliorer la performance de PHPStorm facilement ; cela m’a permis de redevenir productif avec cet IDE.
Lisez ce tutoriel jusqu’au bout, il y a sans doute des actions que vous n’avez jamais entreprises pour améliorer votre IDE.
Une dernière chose, ces astuces fonctionnent pour toutes les versions de PHPStorm et pour tous les IDEs Jetbrains en général.
Afficher le pourcentage mémoire / CPU pris par PHPStorm
Avant de commencer à optimiser PHPStorm, je vous conseille d’afficher deux choses :
- L’utilisation de la mémoire (RAM)
- Le pourcentage d’utilisation du processeur (CPU)
De cette manière vous pourrez vérifier en tant réel les ressources systèmes que prend PHPStorm et comparer la différence en termes de performance avant et après les optimisations.
- Clic droit en bas à droite de PHPStorm ;
- Sélectionner « Memory Indicator ».

Pour afficher l’utilisation du CPU, l’extension à installer se nomme CPU Usage Indicator, tout simplement.
Désactiver les plugins dont vous ne vous servez pas
C’est la plus grosse astuce d’optimisation de PHPStorm. Par défaut l’IDE vient avec tout une suite de plugin dédié à PHP.
Il y a fort à parier que vous n’utilisez pas la moitié des plugins activés.
PHPStorm propose également un outil pour mesurer le temps de démarrage des différents plugins au lancement de PHPStorm.
- Aller dans « Help » ;
- Puis « Diagnostic Tools » ;
- Cliquez sur « Analyse Plugin Startup Performance ».

Même si vous avez déjà désactivé vos plugins à un moment donné, je vous conseille de retourner y faire un tour voir si vous n’avez rien oublié.
- Allez dans « File » puis « Settings » ;
- Sélectionner « Plugins » ;
- Décocher ceux dont vous ne vous servez pas.

L’inspection de langage
Le « Code Inspection » de PHPStorm est très efficace pour détecter les erreurs dans vos fichiers. Or, suivant les plugins qui ont été installés, vous devriez avoir beaucoup de vérifications dans beaucoup de type de fichiers.
Si vous avez au préalable désactivé les plugins dont vous ne vous servez pas, vous devriez avoir beaucoup moins d’inspections proposées.
Vous avez deux solutions possibles.
- Désactiver l’inspection des types de fichier que vous n’éditez pas ;
- Désactiver des inspections directement dans les langages (non recommandé pour les débutants).
Pour accéder à l’inspection :
- Dans « File », puis « Settings » ;
- Sélectionner « Editor », puis « Inspections ».

Je ne coche pas la case « Désactiver les nouvelles inspections par défaut » car je préfère avoir un IDE légèrement trop lourd qu’un IDE sous performant si jamais je ne pense pas à activer l’inspection d’un nouveau plugin.
L’injection de langage
Vous permet d’utiliser des langages dans des fichiers d’autres langages.
Par exemple, utiliser du JSON dans un fichier .php
, ou du CSS dans un fichier .html
.
Par défaut, il y a beaucoup d’injections disponibles. Je vous conseille de désactiver toute injection de langage dont vous ne vous servez pas.
Peut-être même que vous n’avez jamais utilisé ladite fonctionnalité, auquel cas plutôt que de la désactiver je vous incite à en utiliser une partie.
- Dans « File » puis « Settings » ;
- Ouvrir « Editor », puis « Language injections » ;
- Désactiver celles dont vous ne vous servez pas.

Exclure certains répertoires de l’indexation
Sans doute ce qui vous fera gagner le plus de fluidité sur PHPStorm lors des actions sur les fichiers.
Vous pouvez exclure tous les dossiers que :
- Vous n’avez pas besoin d’ouvrir (tout ce qui se trouve en dehors de
src
généralement) ; - Vous n’avez pas besoin de chercher (typiquement les bibliothèques).
Exclure les répertoires de l’indexation :
- Dans « File » puis « Settings » ;
- Ouvrir « Directories » ;
- Faire un clic droit sur les dossiers à exclure pour marquez-les en « Excluded ».


À noter qu’il est normal que PHPStorm indexe les contenus exclus si ce sont des librairies, comme le dossier vendor/
de composer
.

Désactiver l’ouverture du dernier projet au démarrage
Sauf si travaillez sur un seul et unique projet, ouvrir le dernier projet vous fera perdre un certain temps, car PHPStorm est lent pour ouvrir un projet.
- Dans « File » puis « Settings » ;
- Dans le menu « Appearance & Behavior » ;
- Trouver « System Settings » ;
- Décocher « Reopen last project on startup ».


Mettre à jour PHPStorm et ses plugins
Mettre son IDE et ses plugins est toujours une bonne idée. Notamment pour corriger les derniers bugs.
- Aller dans « Help » ;
- Cliquez sur « Check For Updates… ».

Invalider le cache existant
Si votre PHPStorm est anormalement lent, vous pouvez être tenté de vider le cache.
Attention : Cette commande videra tous les caches de tous les projets ! PHPStorm relancera donc l’indexation pour chaque projet nouvellement ouvert.
Si vous avez optimisé l’indexation en excluant des répertoires, celle-ci devrait être beaucoup plus rapide.
- Dans « File » ;
- Cliquer sur « Invalidate Caches / Restart ».


Désactiver l’astuce du jour
Typiquement, c’est la popin « Tip of the Day » que personne ne lit, mais on se dit tous « Oui mais il y a des choses intéressantes quand même, on va la laisser ».
Si vous ne la lisez pas, aucune raison de la garder.
- Décocher la case « Show tips on startup ».

Améliorer la configuration de la JVM
PHPStorm étant écrit en Java, il est possible d’optimiser la JVM pour améliorer les performances de PHPStorm.
Comme chaque ordinateur a une configuration spécifique, je vous incite à tester vous-même les différentes configurations que l’on trouve sur internet si vous n’êtes pas un expert.
En ce qui me concerne, l’optimisation de la JVM n’a pas eu beaucoup d’effets sur l’amélioration des performances de PHPStorm. À vous de voir si vous souhaitez aller plus loin dans l’optimisation.
- Configuration PHPStorm 2019.3 : https://gist.github.com/P7h/4388881#gistcomment-3084907
- Optimisation générale : https://medium.com/stochastic-stories/tuning-my-intellij-ide-8255781f6a0d
Si jamais vous avez cassé la configuration Java de PHPStorm, le fichier édité dans l’IDE se trouve ici. Vous pourrez
~/.PhpStorm2019.3/config/phpstorm64.vmoptions
~/.config/JetBrains/PhpStorm2020.1/phpstorm64.vmoptions
Je vous conseille de toucher à ces options en dernier recours si votre IDE est toujours aussi lent après les différentes optimisations données ci-dessus. La configuration par défaut de Jetbrains est déjà bien adapté à l’utilisation de la plupart des développeurs.
Conclusion : la performance de PHPStorm
Par défaut, l’IDE est très gourmand en ressource car il vient avec une panoplie de plugins pour répondre à tous les besoins des utilisateurs PHP.
Néanmoins, toutes les optimisations données plus haut m’ont permises d’améliorer radicalement la rapidité de PHPStorm et surtout sa fluidité. Lorsque l’on utilise beaucoup les raccourcis claviers, il faut que l’application réponde rapidement si on veut être efficace.
Cela m’a pris 30 minutes pour configurer mon IDE pour la performance et les gains sont significatifs.
J’aimerais beaucoup un retour d’expérience en commentaire de ceux qui ont appliqués ces conseils, voir à quel point les performances ont été augmentées.