Visual Studio Code : synchronisez vos paramètres et extensions avec GitHub Gist

Depuis peu, je découvre avec grand plaisir les joies du télétravail. Par conséquent, je développe désormais sur deux postes de travail : un ordinateur de bureau… au bureau, un ordinateur portable à la maison.

Si Git me permet de synchroniser mes sources et OneDrive mes documents non confidentiels, il me manquait jusqu’alors la synchronisation des paramètres et extensions de mon éditeur Visual Studio Code. Et oui, même si j’utilise principalement PhpStorm au quotidien, Visual Studio Code m’est encore indispensable pour bien des tâches. Or, rien ne m’est plus frustrant que de ne pas retrouver mon environnement de travail tel que je l’ai laissé !

Visual Studio Code Logo
Visual Studio Code

Bien heureusement, j’ai enfin trouvé une solution pour pallier à ce problème : l’extension Settings Sync de Shan Khan. Cet outil, ô combien pratique, me permet donc de synchroniser mon environnement Visual Studio Code sur mes deux postes de travail via mon compte GitHub. Pour plus d’informations, je vous renvoie à la page de présentation de l’extension.

Lire la suite…

Visual Studio Code : configurer PHP-CS-Fixer

Il y a peu, j’ai réinstallé mon poste de travail. Gros boulet que je suis, j’ai oublié de conserver une copie des fichiers de configuration de l’extension php cs fixer de Visual Studio Code. Je profite donc de refaire la configuration pour rédiger ce petit billet qui me servira de mémo à l’avenir. Et qui sait, peut-être que ces quelques lignes pourront être utiles à certains d’entre vous. 😛

 

Visual Studio Code Logo

 

Lire la suite…

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éez 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.om/docs/editor/integrated-terminal

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

Visual Studio Code Logo

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.

 

Lire la suite…

En Vrac : Windows 10 Mobile, GNU/Linux, Blockchain et commentaires

Windows 10 Logo

Windows Mobile et cartes SD

Ce premier sujet ne va pas intéresser grand monde vu que Windows Mobile est en fin de vie. À vrai dire, j’avais écrit ce premier sujet il y a déjà quelques semaines. Je le publie tout de même au cas où certains irréductibles utilisateurs de Windows 10 Mobile passeraient par là. 😛

J’avais quelques soucis avec l’appli Facebook et Messenger depuis quelques temps. La seule modification apportée à mon Lumia : l’ajout d’une carte SD. J’ai enlevé la carte SD et tout roule à nouveau. Moralité : Windows 10 Mobile + Facebook + carte SD = crash !

Je l’ai déjà exprimé dans un billet précédent mais je suis vraiment déçu de la politique de Microsoft quant à Windows 10 Mobile. À long terme, je pense que les Lumia auraient eu une chance sur ce marché si concurrentiel. Mais bon, avec les remises à zéro entre chaque version (Windows 7.5, Windows 8 et Windows 10), il ne fallait pas s’attendre à autre chose qu’à une désaffection des développeurs. Les quelques éditeurs ayant joué le jeu doivent être bien déçus. Bref, nous vivons dans un monde ou le court terme a pris le pas sur le long terme et c’est bien dommage. Je continuerai à utiliser mon Lumia 650 tant qu’il sera fonctionnel et se posera ensuite la question du changement de crémerie.

 

Solus OS Logo

Solus OS et Ubuntu : on y est presque 🙂

Je continue toujours à chercher la distribution qui me permettra de revenir à GNU/Linux. Ces dernières semaines, j’ai testé Solus OS « en dur » au boulot mais je n’ai pas été convaincu. Budgie est vraiment sympa, mais je trouve que le rendu de l’interface manque de finesse. Tout est trop gros à mon goût. J’adorerais que tout soit aussi fin et lisse que sous Windows 10 ou MacOS. Cependant, j’attends avec impatience la prochaine version de Budgie Desktop qui devrait passer à Qt. Pour le moment, je continue à suivre les évolutions de Solus en VM car ça reste une excellente distribution en devenir.

J’ai également testé Ubuntu 17.10 pendant une journée et le bilan est le même. Bien que plutôt surpris par cette nouvelle mouture de la plus connue des distributions, je trouve que les angles restent encore à arrondir. Malgré l’apport appréciable de certaines extensions qui me paraissent indispensables comme Arc-Menu et Dash-to-Panel, il y a encore du chemin à faire. Même constat que pour Budgie : ça manque de finesse. Je vais attendre quelques semaines avant de retester mais quoiqu’il en soit, je surveille cette distro de près.

 

BlockChain : kézaco ?

Bon, sur ce coup-là, je vais faire mon gros fainéant. ^^ J’avais commencé la rédaction d’un long billet expliquant le fonctionnement de la blockchain et des cryptomonnaies mais je suis tombé sur un blog qui explique très bien la chose. Je me contente donc de marquer la page ici : https://yeuxdelibad.net/Journal/2017/10/les-cryptomonnaies-expliquees-a-ma-fille.html. Si vous ne comprenez rien à rien à ces technologies hype du moment, ça devrait vous aider… en tout cas, moi ça m’a vraiment aidé à appréhender le sujet. Merci à son auteur. 😉

 

Modération des commentaires

Vous l’avez peut-être constaté mais les commentaires sont à nouveau modérés a priori. En effet, je suis à nouveau la cible de spammeurs. Du coup, j’ai une cinquantaine de commentaires spams quotidiens. Pour éviter de polluer les commentaires utiles, je n’ai donc pas d’autre choix. J’espère que ces attaques ne dureront pas dans le temps…

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.

Illustration code source

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.

 

Lire la suite…

En Vrac : OCS, Courrier, Hub de commentaires et Visual Studio Code

OCS

 

OCS Logos

 

Je suis abonné au bouquet OCS depuis 3 semaines maintenant. Ce qui a motivé mon choix, c’est leur catalogue qui propose (entres autres) The Walking Dead, Game Of Thrones ou encore WestWorld. Cette dernière série est d’ailleurs un véritable coup de cœur pour moi. Pour le moment, je suis vraiment satisfait de ce service.

Cerise sur le gâteau, l’app Windows 10 (Desktop et Mobile) est très bien conçue et complète. Il est même possible de regarder les contenus hors-connexion. ^^ Je peux donc regarder mes séries tranquillement dans le train.

Je ne vous en dit pas plus pour le moment… un billet dédié est en préparation. ^^

 

Lire la suite…

Visual Studio Code : personnalisation et extensions indispensables

J’utilise désormais Visual Studio Code (VSCode) au quotidien. Cet IDE est assez complet mais nécessite tout de même quelques extensions pour être confortable dans le cadre de développements PHP.

Visual Studio Code Logo

 

Voici un rapide tour d’horizon des extensions qui me sont aujourd’hui indispensables :

  • Beautify : auto-format le code : Javascript, JSON, CSS, Sass et HTML
  • Better Merge : améliore nettement l’affichage des « merge conflict » (Git) *
  • Close Unmodified : permet de fermer les fichiers n’ayant pas été modifiés (Git)
  • minify : supprime les espaces, les retours chariots des fichiers Javascript, Css et Html. Pour ma part, je ne l’utilise pas pour l’Html
  • php cs fixer : auto-format du code PHP
  • TWIG pack : support du format de fichier TWIG. J’ai hésité à mettre cette extension dans cette liste car elle est relatviement catastrophique. L’auto-format des fichiers Twig est catastrophique, voire inutilisable. Je la garde simplement pour la coloration syntaxique qui, elle aussi, est loin d’être aboutie. Pour le moment, je n’ai pas trouvé d’extension vraiment opérationnelle pour le support de Twig.
  • VS Color Picker : permet de sélectionner une couleur depuis une palette dans les fichiers CSS
  • vscode-icons : ajoute des icônes dans l’explorateur de fichiers

* Note du 03/08/2018 : cette extension ne semble plus disponible dans le Marketplace

Concernant la personnalisation de l’outil, j’avoue ne pas l’avoir beaucoup poussé :

{
"editor.fontSize": 12, // Défini la taille de police
"workbench.colorTheme": "Monokai", // Thème dark Monokai
"workbench.welcome.enabled": false, // Désactive l'écran de bienvenue
"editor.wordWrap": "on", // Active le retour à la ligne du texte
"terminal.integrated.fontSize": 13, // Défini la taille de police du Terminal intégré
"workbench.iconTheme": "vscode-icons", // Affiche des icônes dans l'explorateur de fichiers
"editor.renderControlCharacters": true, // Affiche les caractères de contrôle
"editor.renderWhitespace": "all", // Affiche les espaces dans l'éditeur
"editor.renderIndentGuides": true, // Affiche les guides d'indentation
"minify.minifyExistingOnSave": true, // Minifie les fichiers à l'enregistrement (Minify)
"editor.minimap.enabled": true, // Affiche un "minimap" de l'éditeur
"php-cs-fixer.executablePath": "C:\\wamp\\bin\\php\\php-cs-fixer.phar", // Config. Php CS FIXER
"php-cs-fixer.config": "C:\\wamp\\bin\\php\\vscode.php_cs", // Config. Php CS FIXER
"window.title": "${dirty}${activeEditorMedium}${separator}${rootName}${separator}${appName}", // Config. titre fenêtre (Chermin du fichier - projet - Visual Studio Code)
"terminal.external.windowsExec": "C:\\cmder\\Cmder.exe", // Défini le Terminal externe
"files.exclude": { // Fichiers exclus lors des recherches / remplacements
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/.DS_Store": true,
"**/vendor": true
},
"explorer.openEditors.visible": 20 // Nombre de fichiers affichés dans la liste des éditeurs ouverts
}

 

Si vous avez des conseils pour optimiser VSCode, n’hésitez pas… je suis tout ouïe ^^

Visual Studio Code : bye bye Netbeans ?

Il y a quelques semaines, j’ai relancé Visual Studio Code (VSCode) pour voir où en était le développement de cet IDE prometteur. Je l’avais testé d’avril à mai 2015 mais malheureusement, de nombreuses fonctionnalités manquaient alors à l’appel.

Visual Studio Code Logo

 

Cela fait maintenant plus d’un mois que j’utilise VSCode au quotidien et force est de constater qu’il répond désormais à quasiment tous mes besoins.

En mai 2015, je listais les points négatifs de VSCode :

  • Pas d’onglets pour les documents ouverts… la navigation par side-bar n’est pas pratique à l’utilisation : désormais, la navigation se fait soit par side-bar, soit par onglets, soit par les deux. Personnellement, j’utilise cette dernière possibilité.
  • Impossible d’ouvrir plusieurs « Projets » en même temps : malheureusement, il n’est toujours pas possible d’ouvrir plusieurs projets en même temps. Mais je ne perds pas espoir que cette fonctionnalité apparaisse à l’avenir.
  • Pas de fonction « Remove Trailing Space » : cette fonctionnalité est désormais présente
  • Pas de conversion auto des « tab » en « space » : idem
  • La coloration syntaxique est austère à en pleurer : depuis quelque temps déjà, il est possible d’ajouter (voire de concevoir) des thèmes de coloration syntaxique. Pour ma part, j’utilise un thème Monokai et j’en suis totalement satisfait (sauf pour les fichiers Twig, mais ce n’est pas bloquant)
  • Pas de fonctionnalités « History » permettant de faire un « revert » d’un clic : l’intégration des outils git est désormais bien plus ergonomique que dans Netbeans.

Comme vous pouvez le constater, les principaux freins qui m’empêchaient de l’adopter sont aujourd’hui levés.

Cependant, quelques points négatifs subsistent :

  • L’auto-formatage n’est pas géré nativement et passe par des extensions (plugins). Or pour les fichiers Twig par exemple, c’est une catastrophe. Je n’ai pas trouvé d’extension qui auto-format les documents correctement.
  • Pour compléter l’IDE, il est nécessaire d’installer pas mal d’extensions. Or, qui dit extensions, dit développeurs tiers. Malheureusement, certaines d’entre elles ne sont pas correctement maintenues quand d’autres sont à la limite de l’utilisable.
  • Je reviens sur ce point qui pour moi est fondamentale lorsqu’on travaille sur des projets imbriqués : il est aujourd’hui encore impossible d’ouvrir plusieurs projets simultanément. Du coup, il m’arrive encore de devoir ouvrir Netbeans ou Notepad2 pour pouvoir bosser efficacement.

Vous l’aurez compris, je suis plutôt satisfait par Visual Studio Code. D’autant plus que cet éditeur est activement développé et s’améliore mois après mois. Il est d’ailleurs très agréable de suivre son évolution au fil des semaines. J’espère simplement que les quelques points négatifs seront rapidement corrigés. Mais relativisons : quel logiciel peut se targuer d’être parfait ? ^^

Visual Studio Code : Pas pour tout de suite

Finalement, je n’aurai pas tenu longtemps avec Visual Studio Code. Pourtant, je me suis fait violence pour l’utiliser. J’aurai tenu un jour et demi. Changer d’IDE est un exercice difficile. Il faut s’approprier le nouvel environnement, le personnaliser, modifier ses habitudes, etc. J’étais motivé, mais plusieurs points m’ont fait revenir à Netbeans. En vrac :

  • pas d’onglets pour les documents ouverts… la navigation par side-bar n’est pas pratique à l’utilisation
  • impossible d’ouvrir plusieurs « Projets » en même temps
  • pas de fonction « Remove Trailing Space »
  • pas de conversion auto des « tab » en « space »
  • la coloration syntaxique est austère à en pleurer
  • pas de fonctionnalités « History » permettant de faire un « revert » d’un clic
  • etc.

 

Visual Studio Code austère

 

Pourtant, l’outil n’est pas dénué d’intérêt et dispose de quelques fonctionnalités bien pratiques (exemple : la sélection multiple d’un mot surligné via Ctrl + F2 ou Ctrl + Shift + F1). Mais cela ne suffit pas à combler les manques d’un IDE tout juste naissant.

Netbeans est très lourd, c’est indéniable. Cependant, il dispose de nombreux atouts :

  • il est stable (pour peu que l’on dispose de suffisamment de RAM)
  • il dispose « out-of-box » de très nombreuses fonctionnalités
  • il dispose d’extensions abouties et parfaitement intégrées

D’autre part, je suis assez attaché aux interfaces « old-school ». Ce que j’apprécie dans Netbeans par rapport à ses concurrents ? Il dispose de fenêtres de configuration et surtout, il gère Git du feu de dieu. Bien que je n’utilise pas vraiment les outils de push, commit et add intégrés à Netbeans, je ne peux me passer de l’onglet « History ». Il permet de faire des « REVERT » d’un clic.

 

Netbeans : History

 

J’utilise Netbeans HTML5 & PHP depuis sa version 7 et, jusqu’à présent, je n’ai pas trouvé un IDE qui pousse les outils dédiés au PHP aussi loin… si, Komodo IDE mais son tarif prohibitif a littéralement calmé mes ardeurs.

Bref, pour l’instant, Visual Studio Code manque cruellement de fonctionnalités de base et sa coloration syntaxique est beaucoup trop austère à mon goût. Je vais continuer à suivre l’évolution de cet IDE mais pas en tant qu’utilisateur pour le moment.

Netbeans devrait sortir une nouvelle version en juillet. J’espère qu’elle sera plus eye-candy et plus « légère » que la version 8 sans quoi, je pense qu’ils vont finir par perdre des parts de marché !