Intégrer Cmder à Visual Studio Code

Aujourd'hui, petit mémo rapide. :)

J'utilise Visual Studio Code depuis presque un an. Cet IDE est vraiment très agréable à utiliser mais malgré tout, je trouve les terminaux intégrés (powershell ou cmd) très inesthétiques et peu pratiques :

Visual Studio Code terminal intégré (cmd)

 

En parallèle, j'utilise un émulateur de terminal que j'apprécie beaucoup : Cmder. Alors pourquoi ne pas associer les deux ? ^^

Si vous souhaitez intégrer Cmder.exe à Visual Studio Code :

  1. Créer un fichier vscode.bat à la racine du répertoire cmder. Dans cet exemple : C:/cmder

     

  2. Ajoutez ces quelques lignes :
    @echo off
    SET CurrentWorkingDirectory=%CD%
    SET CMDER_ROOT=C:\cmder
    CALL "%CMDER_ROOT%\vendor\init.bat"
    CD /D %CurrentWorkingDirectory%

     

  3. Dans les paramètres de Visual Studio Code, ajoutez ces deux lignes :
    "terminal.integrated.shell.windows": "C:\\WINDOWS\\system32\\cmd.exe",
    "terminal.integrated.shellArgs.windows": ["/K", "C:\\cmder\\vscode.bat"]

 

Et voilà le résultat :

Visual Studio Code avec cmder intégré

 

Non seulement l'interface de Cmder est plus esthétique, mais en plus, elle intègre tous les outils qui me sont nécessaires (bash, git, etc.). Bonus : on visualise directement la branche Git sur laquelle on travaille ! Bref, que du bonheur. ^^

Sources :
https://github.com/Microsoft/vscode/issues/12006
https://code.visualstudio.com/docs/editor/integrated-terminal

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. :)

Les majuscules accentuées sous Windows

L'accès aux majuscules accentuées sous Windows est une calamité. Beaucoup tapent des combinaisons de touches imbuvables quand la majorité se contente tout simplement de s'en passer.

 

Illustration photo clavier

 

Je ne comprends d'ailleurs pas pourquoi Microsoft n'a jamais adopté par défaut la disposition clavier qu'utilise GNU/Linux. En effet, quelque soit la distribution, pour accéder à une majuscule accentuée, il suffit d'enfoncer la touche Verr Maj puis de taper la minuscule que l'on souhaite accentuer.

Par exemple, si vous saisissez Verr Maj + é vous obtenez É. Par contre, si vous tapez Maj + é, vous obtiendrez bien 2. Pratique non ?

Heureusement, un site partage généreusement la disposition clavier qui reproduit le comportement énoncé ci-dessus : http://soft.translator.free.fr/clavier_fr_esp_maj.htm

Tout est sur le site donc je ne détaillerai pas plus. Pour information, je l'utilise depuis Windows 7 et n'ai jamais relevé le moindre problème. Il est compatible quelque soit votre version de Windows.

Bonus, vous aurez même accès à certains caractères indisponibles sur les claviers azerty tel que ñ. :)

Sinon, vous pouvez toujours essayer de passer au bépo. ;)

 

PS : Pour info, vous pouvez passer d'une disposition clavier à un autre en tapant touche super + barre espace.

Ma logithèque pour développer en PHP sous Windows

Suite à la lecture du billet de Nicolas Hachet intitulé "Quels outils pour développer en PHP sous Windows ?", j'ai eu envie de faire, moi aussi, le tour de mon environnement de développement.

 

Stack

WampServer

Je vous l'accorde, rien de bien original. À mes débuts, j'installais Apache, MySQL et PHP l'un après l'autre mais je trouvais ça fastidieux. Surtout qu'à cette époque (début des années 2000), il m'arrivait bien souvent de réinstaller Windows. Par la suite, j'ai découvert EasyPhp que j'ai utilisé pendant un certain temps. Je ne me souviens plus de la raison qui m'a poussé à tester WampServer à l'époque mais en tout cas, je ne suis jamais revenu en arrière. Apache, MySQL et PHP installés et prêts à l'emploi en moins de 10 minutes, que demander de plus ? Simple et efficace.

 

Programmation

Cmder

Je vous l'avais déjà présenté en mars 2015. Elle reste ma Console de prédiléction bien que j'ai tendance à utiliser de plus en plus celle intégrée à Visual Studio Code.

 

Visual Studio Code

Visual Studio Code est mon nouvel IDE de coeur. Après des années sur Netbeans, j'ai enfin trouvé un IDE puissant et eye-candy. Netbeans est puissant lui aussi, mais je me suis lassé de son interface old-school ! Cerise sur le gâteau, Visual Studio Code est beaucoup moins gourmand en ressources que Netbeans.

 

Notepad2

Beaucoup utilise Notepad++ pour l'édition rapide de script. Personnellement, j'ai choisi Notepad2 qui est, certes vieillissant et non maintenu depuis 2012, mais qui n'en reste pas moins une solution hyper légère. En plus, il est "livré" avec TortoiseGit alors pourquoi s'en priver. J'ai bien essayé de passer à Notepad++, mais je le trouve beaucoup trop "lourd" pour de l'édition simple et rapide.

 

TortoiseGIT

Je suis un grand fan du système de gestion de versions Git. TortoiseGit permet (entre autre) d'afficher l'état d'un fichier par superposition d'icône dans l'explorateur de fichier de Windows et y ajoute également un menu contextuel pour Git. Bref, un must-have pour les utilisateurs de Git.

 

Base de données

MySQL Workbench

Pendant de nombreuses années, je me suis contenté de PHPMyAdmin. Je le trouvais cependant trop peu ergonomique et trop peu pratique. MySQL Workbench me semble plus adapté et permet de faire énormément de chose, de la simple requête au reverse engineering d'une base de données. Bref, l'essayer c'est l'adopter.

 

SQL Server Management Studio

Rapide raccourci qui risque d'en faire hurler plus d'un ^^ : SQL Server Management Studio est le MySQL Workbench pour SQL Server.

 

Accès distants

Windows Connexion Bureau à distance

Pour le coup, j'utilise l'application native de Windows pour la prise en main à distance de Windows Server. Elle fait le job donc...

 

Filezilla

Inutile d'entrer dans les détails, je pense que tout le monde connaît l'indétrônable client FTP ? Je utilise FileZilla depuis toujours.

 

Navigation et test

Edge, Firefox, Chrome

Edge en première position ? Non, ce n'est pas une erreur. Pendant de longues années, je n'utilisais que Firefox pour la navigation et le développement. A la sortie de Windows 10, j'ai commencé à utiliser Edge sporadiquement car je le trouvais plus rapide et plus eye-candy. Petit à petit, Edge est devenu mon navigateur par défaut. Je continue cependant à utiliser Firefox en navigateur secondaire. Quant à Chrome, je ne l'utilise qu'à des fins de test. En effet, je n'ai jamais aimé ce navigateur. Les goûts et les couleurs... De temps en temps, j'utilise également Vivaldi mais c'est relativement rare.

 

Bureautique et organisation

Microsoft Office 2013

Ne nous leurrons pas : Microsoft Office reste LA référence en matière de suite bureautique. Si dans un cadre privé je recommande chaudement LibreOffice, j'avoue que dans un cadre professionnel, je ne pourrais pas me passer de la suite de Microsoft.

 

OneNote

OneNote est la pierre angulaire de mon organisation. Il m'est réellement indispensable. J'utilise énormément cet outil pour prendre des notes pendant mes développements. Synchronisé automatiquement sur tous mes postes, je retrouve mes notes sur tous mes appareils. Il me permet de structurer mes idées. C'est un outil que j'utilise également à titre personnel. D'ailleurs, la plupart des billets que vous lirez sur ce blog sont initialement rédigés dans OneNote. C'est d'ailleurs mon principal frein à un retour sur GNU/Linux...

 

Redmine

Redmine est un bug-tracker complet et relativement user-friendly. J'en avais tester quelques autres avant d'opter pour cet outil mais je ne les trouvais pas très accessibles aux utilisateurs non informaticiens. Après quelques années d'utilisation, je ne peux que vous recommander chaudement cet outil.

 

Conclusion

Ces différents outils sont ce que je pourrais appeler "mes indispensables". D'ailleurs, si je compare ma logithèque actuel à celle que je vous présentais en octobre 2015, je constate que mise à part mon passage de Netbeans à Visual Studio Code, j'utilise toujours les mêmes outils. :)

En Vrac : Windows 10 Mobile, Canon MP500, LibreOffice et point sur mes séries du moment

Windows 10 Mobile, ça sent le sapin !

Aïe aïe aïe, ça se gâte pour les possesseurs de Smartphone made by Microsoft. Il semblerait bien que ce dernier ait décidé de totalement jeter l'éponge avec son OS Mobile. Je suis vraiment déçu par la tournure des événements. Cela fait quelques années que je suis un utilisateur plus que satisfait de Windows Phone/Mobile mais j'ai bien peur que mon Lumia 650 soit mon dernier Microsoft Mobile. Personnellement, je me fous de la taille du Store. Il est peut-être "pauvre", mais il répond à tous mes besoins. Quel gâchis ! Je sais que nous sommes peu nombreux à le penser, mais pour ma part Windows 10 Mobile est à ce jour l'OS Mobile le plus pratique et le plus ergonomique. Tant pis...

 

Canon MP500, ça sent le sapin bis

En 2006, je m'équipais d'une imprimante multifonctions : une Canon MP500. Malgré les années, elle fonctionne toujours aussi bien. Malheureusement, Canon n'a pas jugé utile de créer des pilotes pour Windows 10. Je me retrouve donc avec une imprimante quasi inutilisable alors que paradoxalement totalement fonctionnelle. Pour le moment, elle fonctionne encore partiellement (bye bye fonction scanner non compatible Windows 10) sur mon PC fixe car j'ai migré de Windows 7 à Windows 10 (donc les pilotes ont migré en même temps que l'OS). Mais impossible de la faire fonctionner avec mon PC portable. Bon, au pire, j'installerai une distribution GNU/Linux en dual-boot pour imprimer. :P Tout n'est pas perdu. ^^

 

LibreOffice, retour d'utilisation

Il y a quelques jours, mon épouse m'a demandé de mettre en forme un document texte sous LibreOffice. Ayant plutôt l'habitude de Microsoft Office, je dois avouer que réaliser cette tâche sous LibreOffice fut très pénible :

  • L'interface est austère... et moche : on se croirait en 1998. Les panneaux, les menus, rien n'est ergonomique ou pratique. Que c'est laid. (oui, je sais qu'il existe des thèmes mais bon, ce serait bien que les logiciels soit eye-candy out-of-box...)
  • Les icônes sont surannées : il serait tant de mettre un coup de modernité aux icônes de LibreOffice (et de beaucoup d'autres logiciels libres d'ailleurs). Que c'est laid.

Bien entendu, mes critiques sont totalement subjectives. Mais c'est mon avis à l'heure actuelle. J'ai tout de même hâte de voir le rendu des fameux menus "rubans" prévus pour bientôt (dans la prochaine version stable ?). J'espère qu'ils auront un peu plus bossé le design. En attendant, je reste sous Microsoft Office.

 

Mes séries du moment

Comme vous le savez, je suis abonné à OCS. Je viens de terminer une série que je ne peux que vous conseiller : The Handmaid's Tale. Le pitch de cette dystopie est des plus original : Aux Etats-Unis, dans un futur proche, la plupart de femmes et des hommes sont devenus stériles. Une religion émerge alors, prônant que cette perte de fécondité est une punition divine. Les Commandeurs renversent alors le Gouvernement et imposent de nouvelles lois, centrées sur la moralité et l'écologie. Les femmes capables d'enfanter sont alors mises aux services des Commandeurs.

La série suit l'une de ces femmes, servante vêtue tout de rouge écarlate. Je ne vous en dis pas plus pour ne rien gâcher. La série est excellente à tous les niveaux : scénario, réalisation, photo, bande son, jeu des acteurs. Bref, un véritable coup de cœur.

Dans un autre registre, j'ai terminé le visionnage de la saison 7 de The Walking Dead. Je ne vous ferai pas l'affront de vous présenter le pitch de cette série. ^^ Cette saison, bien que pleine de suspens, est relativement décevante voire fade. Je ne saurais dire pourquoi mais j'ai j'impression que ça tourne en rond. Bref, j'espère que la saison 8 sera plus novatrice et surprenante.

Pour finir, j'ai commencé à regardé la saison 7 de Game of Thrones. Je n'ai vu que le premier épisode mais pour l'instant, j'adore... comme les précédentes saisons d'ailleurs. :)

 

Voilà, c'est tout pour aujourd'hui. Il ne me reste plus qu'à vous souhaiter de bonnes vacances. Je ne pourrai sans doute pas publier de billet avant fin août - début septembre donc en attendant, portez-vous bien. ;)