In het filmpje wordt er gebruik gemaakt van wsl --install
om wsl te installeren. Gebruik in de plaats wsl --install --no-distribution
want anders zal deze ook Ubuntu installeren.
Een Dev Environment is simpelweg een systeem waar alle software, tools en hardware op geïnstalleerd zijn, zodat jij kunt programmeren aan een specifiek project. Met software en tools wordt echt alles bedoeld dat je gebruikt tijdens het programmeren:
Code Editors (bv. VS Code of Visual Studio)
Plugins (bv. een Markdown extension in VS Code)
Compilers (bv. de .NET compiler voor C#)
Sandbox omgevingen (bv. NodeJS)
...
Meestal heb je op één toestel meerdere Dev Environments geïnstalleerd. Het is nu eenmaal niet praktisch om rond te lopen met 5 laptops...
Een Dev Environment is dus vaak een complex systeem van allerlei software, tools en specifieke instellingen die samenwerken om een stuk software te ontwikkelen. Wat kan er allemaal misgaan?
Oh Nee, mijn Laptop is Kapot!
Je laptop gaat stuk, en je koopt een nieuwe. Nu moet je ALLE software en tools opnieuw installeren. Niet alleen dat, maar je zult er ook op moeten letten dat je EXACT dezelfde versie van die software en tools terug installeert! Weet jij nog of je versie 18.17.1 of versie 17.9.2 had geïnstalleerd op je laptop?
Oh Nee, een Groepswerk!
Je moet samenwerken met iemand anders. Het project werkt perfect op jouw Dev Environment, maar wilt om één of andere reden niet draaien op die van je teamgenoot. Tijd om ELKE tool en software die je gebruikt na te kijken op versie nummer!
Oh Nee, een Oud Project Werkt Niet Meer!
Voor je nieuwste projecten heb je NodeJS geupdate naar de nieuwste versie. Oeps! Nu werken je oude projecten, die gebruik maakten van een oude versie van NodeJS, niet meer!
Deployment Hell
Alles werkt perfect op jouw systeem, en ook op die van je teamgenoten. Maar tijdens het deployen naar de server, merk je dat je software niet werkt. Tijd om ELKE tool en software die je gebruikt (opnieuw) na te kijken op versie nummer!
We kunnen een Docker Container zo samenstellen dat alle tools en instellingen daarin geïnstalleerd staan. Je installeert niets meer op je eigen systeem, alles zit netjes verpakt in een Docker Container! Zo'n Docker Container waarin je je Dev Environment opslaat voor één specifiek project, dàt heet een DevContainer.
Je hebt in feite slechts 3 programma's nodig op je computer:
Git
Docker Desktop*
Visual Studio Code
*Om Docker te laten werken moet je WSL geïnstalleerd hebben op je Windows computer. Dus in principe moet je 3 dingen installeren.
Open Powershell als administrator.
Gebruik het volgende commando om na te kijken of je WSL hebt geinstalleerd, en zo ja, welke versie.
Als WSL geinstalleerd is, zou je output moeten krijgen zoals deze (versie nummers kunnen verschillen).
Indien WSL dus geinstalleerd is, kan je WSL updaten met het volgende command:
Als je WSL NIET geinstalleerd hebt, dan installeer je WSL met het volgende commando:
Meer informatie vind je op: https://learn.microsoft.com/en-us/windows/wsl/install
Ga naar https://www.docker.com/products/docker-desktop/
Download het installie-programma en voer het programma uit.
Ga naar https://git-scm.com/downloads
Download het installie-programma en voer het programma uit.
Ga naar https://code.visualstudio.com/
Download het installie-programma en voer het programma uit.
Open Visual Studio Code.
Open de Extensions tab vanuit de Sidebar.
Zoek naar het "Remote Development" extension pack van Microsoft. https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack
Dit installeert 4 extensies in VS Code die je helpen met ontwikkeling in DevContainers.
Tenslotte installeer je nog de "Github Pull Request" extention: https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github
Klik in Visual Studio Code in de linkeronderhoek op het "avatar" icoontje.
Kies vervolgens " Sign in to GitHub to use GitHub Pull Requests". Vervolgens zou er een browser venster moeten openen die je vraagt om te authenticeren via Github. Doe dit met je Github AP account.
Pro Tip: in hetzelfde menu vind je ook "Sign in to sync settings" terug. Indien je dit doet worden alle Visual Studio Code instellingen gesynchroniseerd met GitHub. Als je dus ooit Visual Studio Code installeert op een andere computer zal deze automatisch dezelfde instellingen krijgen.
Maak een nieuwe Github Repo (tijdens onze lessen gebruik je de Github url op Digitap) of gebruik een bestaande Github Repo.
Als je Github Repo reeds een Devcontainer gebruikte (meestal een devcontainer.json
bestand in een mapje genaamd .devcontainer
), zal de devcontainer nu gestart worden. De eerste keer zal een tijdje duren, want Docker moet alle nodige bestanden downloaden.
Als je Github Repo nog geen Devcontainer gebruikte, zal VS Code je een aantal vragen stellen:
Wanneer je alle vragen hebt beantwoord, wordt het devcontainer.json
bestand aangemaakt en wordt de devcontainer opgestart.
Als je de DevContainer probeert te openen, maar je krijgt een foutmelding dat je WSL versie niet up-to-date is, dan moet je WSL updaten. Dit kan je doen door het volgende stappenplan te volgen:
Open Powershell als administrator (rechtermuisknop op het Powershell icoontje, en kies voor Run as Administrator)
Voer de volgende commando's uit:
Hierna kan je best je computer herstarten om zeker te zijn dat alles goed werkt.