Performance PHPStorm : Optimiser la vitesse de l’IDE

Améliorer la performance de PHPStorm avec des optimisations simples et efficaces pour gagner en rapidité et en fluidité.
  • Productivité

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 ».
Utilisation de la mémoire et du CPU
Afficher l’utilisation courante de la RAM/CPU

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 ».
PHPStorm impact temps de chargement pour chaque plugin
Temps de chargement au démarrage pour chaque extension PHPStorm activée

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.
Plugins PHPStorm
Désactiver les plugins 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 ».
Inspection de code PHPStorm
Vérifier que le code écrit est qualitatif avec l’inspection de code

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.
Injection de language sur PHPStorm
Injecter dynamiquement du code d’autres langages dans vos fichiers

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 ».
Exclusion de l'index de recherche PHPStorm
Exclusion des répertoires où la recherche n’est pas utile
Marquer le répertoire comme exclu
Exclure l’indexation de PHPStorm sur un répertoire en particulier

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

PHPStorm indexation dossiers exclus
PHPStorm indexe le dossier vendor/ alors que ce dernier est exclu de l’indexation

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 ».
Ne pas ouvrir le dernier projet au démarrage de PHPStorm
Ne pas ré-ouvrir le dernier projet ouvert au démarrage
PHPStorm écran de démarrage
Afficher l’écran de démarrage pour ouvrir PHPStorm plus rapidement

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… ».
Mise à jour IDE et plugins PHPStorm
Faire la mise à jour de ses plugins et de son IDE dès que possible

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 ».
Invalider le cache PHPStorm
Supprimer le cache existant ou simplement redémarrer PHPStorm
Invalider le cache PHPStorm et redémarrer
Popin de suppression du cache de PHPStorm et redémarrage de l’IDE

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 ».
Astuces du jour PHPStorm
Ne pas afficher les astuces au démarrage

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.

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.

Article publié le

Dernière modification le

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.