Développeur FullStack & Devops

Lorsqu’on travaille sous Windows, il est souvent nécessaire, pour des raisons de compatibilité avec l’outillage d’un environnement de développement orienté JS (Node, React, Webpack etc.) ou du code récupéré sous Github (souvent dév sous MAC OS qui utilise un shell Linux), nous avons « besoin » d’un système Linux et si possible on aimerai pouvoir l’utiliser dans le terminal intégré de Visual Studio Code (CTRL + ALT + O) .
Pour cela nous allons utiliser Linux Debian fournie par Microsoft dans Windows 10 64 bit dénommée WSL pour Windows Subsystem for Linux (MSDN, aperçu global de l’archi et interop Win/Linux).

Installer WSL Debian

installer Linux (WSL) pour Windows 10 depuis le Microsoft Store (build > 1709) et choisir sa distribution parmi celles-ci (Debian forever ????) :

pour les anciennes build de Windows 10 précédent la Fall Creators Update, suivre le tuto de Korben ou la doc Ubuntu-fr et plus d’infos ici)

Configurer la distribution à utiliser

Il est possible d’installer plusieurs distros Linux en mode WSL, et il faut pouvoir les gérer (fixer celle qu’on veut utiliser par défaut par ex).
Pour cela il existe: wslconfig.exe (anciennement lxrun.exe) à utiliser dans un shell DOS:

wslconfig /l

wslconfig /s <DistributionName>

Configurer Visual Studio Code

Il est possible d’exploiter ce nouveau shell Linux depuis le du terminal intégré de VSCode, pour cela la configuration s’effectue en ajoutant dans les User Settings (CTRL + , ) le chemin vers le binaire bash de WSL:

"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\wsl.exe"

anciennement:

"terminal.integrated.shell.windows": "C:\\WINDOWS\\sysnative\\bash.exe"

doc MS à propos du Terminal Intégré de VSCode

Debugger une application Nodejs lancée à travers WSL

Il suffit de rajouter l’attribut « useWSL »: true  dans le launch.json

{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/bin/www",
"useWSL": true
}

Pièges à éviter

Si aucun terminal ne s’ouvre dans VSCode, le petit piège à éviter (et dans lequel je suis tombé) c’est que VsCode doit être installé en version 64 bits sur votre Windows10.
J’aurai pu éviter de perdre du temps si je l’avais installé avec Chocolatey

WSL peut planter au démarrage de la machine avec une erreur Error: 0x800703fa  il suffit de rebooter ou de relancer le service qui gère le l’instance du sous-système Windows pour Linux:

sc queryex LxssManager
sc start LxssManager

Et voilà !!

rédigé par behrouze le 19/05/2018
Cheat SheetsOutilsVidéosA propos