Il y a peu de temps, j’ai mis à jour mon stack de programmation : Wampserver / Node / php-cs-fixer / etc.
Malheureusement, cela ne fut pas sans conséquence : je me suis rapidement rendu compte qu’une extension ne fonctionnait plus correctement dans Visual Studio Code : php cs fixer. J’avais pourtant fait attention à bien remettre en place tous les fichiers de config de php cs fixer lors de ma mise à jour.
J’ai mis quelques heures à trouver la cause du problème donc je vous partage ici une méthode pour déboguer une extension.
Première chose à faire, activez les outils de développement :
Rendez vous ensuite sur l’onglet « Console ». Une fois la console de débogage ouverte, lancez la commande exécutant votre extension, cela vous permettra d’identifier la source du problème.
Pour ma part, j’ai appliqué le raccourci clavier exécutant la commande php-cs-fixer.phar (Alt + Maj + F). Le résultat ne s’est pas fait attendre :
ERR Bad argument : TypeError: Bad argument at ChildProcess.spawn (internal/child_process.js:294:26) at Object.exports.spawn (child_process.js:390:9) at PHPCSFixer.format (...)
L’erreur est beaucoup plus longue mais ça n’a pas d’intérêt de vous l’afficher en entier. Bad argument ? php-cs-fixer.phar étant lancé par la commande php.exe, je me suis rendu dans les paramètres de Visual Studio Code pour vérifier que tout était d’équerre du côté définition de php. J’ai rapidement identifié qu’il me manquait un paramètre, et pas des moindres : le chemin vers php.exe !
J’ai donc simplement ajouté :
"php.validate.executablePath": "C:\\path\\to\\php_version\\php.exe",
Et le tour est joué ! Pourquoi ce paramètre avait disparu suite à la mise à jour de mon stack ? Je ne saurais le dire. 🙁
Quoiqu’il en soit, si vous avez un problème avec Visual Studio Code, pensez à activer les outils de développement. 🙂