TITLE: Install WSL and VSCode on Windows 10 
AUTHORS: Kenneth Schackart

[DESCRIPTION]
<div class = "text-blocks"><div class = "text-block">This protocol describes how to install Ubuntu, WSL, and connect to WSL with VS Code on Windows 10. By the end you should have a working version of Ubuntu and WSL. VS Code will be able to work with your Ubuntu installation. You will also have Python3 since Ubuntu comes packaged with it.</div><br/><div class = "text-block">Most of the information presented here is given in the attached Microsoft Docs link.</div></div>

[STEPS]
?. [Install Ubuntu]
Go to the Microsoft Store and install a version of Ubuntu.
Hit Windows key, type "Store", select Microsoft Store. Search for Ubuntu. Installing a version that ends with LTS means it is Long term stable. I recommend one of those versions.
?. [Enable WSL]
Open Windows Powershell as Administrator.
To run as Administrator, you can hit the Windows key, search for powershell, and on the right select "Run as Administrator". This allows you to make changes to your system.
?. [Enable WSL]
In Powershell, enter the following command to enable WSL:dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
?. [Enable WSL]
In Powershell, enter the following to enable virtualization:dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
?. [Enable WSL]
Download the Linux kernel update package:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msiRun the package.
?. [Enable WSL]
Restart your machine to make the changes take effect.
?. [Set WSL2 as Default]
Open Powershell as administrator and run:wsl --set-default-version 2
?. [Check Installation]
Open Ubuntu by hitting the Windows key, and type "Ubuntu", and open it. If an Ubuntu window opens but is quickly closed, continue to the next step.If Ubuntu opens properly, go to step 13 to set up VS Code.
?. [Reassess WSL]
Try starting WSL again. This time it should
?. [Check Installation]
If WSL has failed to open by briefly flashing and then closing, it means your machine is still blocking virtualization. This must be resolved by entering BIOS. How to do this varies by laptop type. It will generally involve shutting the machine off, powering it on, and while it boots you need to hit a certain key to pause boot up.Search the web for "How to enter BIOS "You will not be able to see this protocol in BIOS, so open this page on another device.
?. [Check Installation]
Once in BIOS, use the arrow keys to navigate the menus and search for any settings regarding "virtualization" and enable them.This may be something like "Virtualization Technology".
Refer to the menu at the bottom of the BIOS screen for instructions on how to navigate, change settings, and save changes.
?. [Check Installation]
Save the changes you have made to the BIOS settings and restart.
?. [Check Installation]
If WSL has failed to open by briefly flashing and then closing, it means your machine is still blocking virtualization. This must be resolved by entering BIOS. How to do this varies by laptop type. It will generally involve shutting the machine off, powering it on, and while it boots you need to hit a certain key to pause boot up.Search the web for "How to enter BIOS "You will not be able to see this protocol in BIOS, so open this page on another device.
?. [Check Installation Again]
Try starting Ubuntu again.If it still gets closed, hit the Windows key, type features, and select "Turn Windows features on or off". If there is the feature "Windows Hypervisor Platform", enable that. Also make sure that "Virtual Machine Platform" and "Windows Subsystem for Linux" are enabled.
?. [Set up VS Code]
Install Visual Studio Code.https://code.visualstudio.com/downloadOpen it once installed.
?. [Set up VS Code]
Open the Extensions tab by clicking on the icon with 4 squares (3 together, 1 detached).
?. [Set up VS Code]
Search for "Remote - WSL" and install it. You will now have a green square in the bottom left corner of VS Code. This is how you access WSL from VS Code.
?. [Set up VS Code]
Click the green square in the bottom left corner. Under the search bar at the top a few options will be displayed. Select "New WSL window"You can then close the old window.
?. [Set up VS Code]
Now VS Code is accessing your WSL instance. The bottom left corner should now look something like this:
?. [Update]
From the top menu, select Terminal -> New Terminal
?. [Update]
In the new terminal run the following to updatesudo apt-get update
?. [Update]
You should now have a working version of WSL and access to it through VS Code.Some things to keep in mind:You can see if your current VS Code session is running in WSL by looking at the green rectangle at the bottom left cornerSince WSL has its own file system, if you plan to interact with GitHub using SSH keys, you will need to generate new ones using the WSL terminal, and add them to your GitHubWhatever repositories you want to run in WSL should be cloned using the WSL terminalWSL can be run without VS Code to have a nice linux terminalSince WSL has its own file system, if you plan to interact with GitHub using SSH keys, you will need to generate new ones using the WSL terminal, and add them to your GitHubWhatever repositories you want to run in WSL should be cloned using the WSL terminalWSL can be run without VS Code to have a nice linux terminalWhatever repositories you want to run in WSL should be cloned using the WSL terminalWSL can be run without VS Code to have a nice linux terminal