Visual Studio Code : debugger / déboguer une extension ?

Logo Visual Studio Code

 

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 deboguer une extension.

Première chose à faire, activez les outils de développement :

Menu Visual Studio Code, rubrique Aide

 

Rendez vous ensuite sur l'onglet "Console". Une fois la console de déboguage 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. :)

Écrire un commentaire

L'email renseigné ne sera pas publié sur le site.

Capcha
Entrez le code de l'image :