VSCode_WSL.md 6.2 KB


marp: true title: Visual Studio Code for WSL author: P.Y. Barriat description: How to use VSCode with WSL backgroundImage: url('assets/back.png') _backgroundImage: url('assets/garde.png') footer: 14/06/2023 | Visual Studio Code for WSL | PY Barriat _footer: "" paginate: true _paginate: false

math: true

Visual Studio Code for WSL

https://gogs.elic.ucl.ac.be/pbarriat/learning-vscode

Pierre-Yves Barriat ELIC Training Sessions June 14th, 2023


What is WSL :question:

Windows Subsystem for Linux (WSL) allows you to leverage the benefits of Linux package management and command line tools to streamline your development workflow. This is particularly useful for web developers and data scientists

The easiest way to access your Ubuntu development environment in WSL is using Visual Studio Code via the built in Remote extension


What is Visual Studio Code :question:

Visual Studio Code (VS Code) is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS and Linux.

It has a rich ecosystem of extensions for languages (such as C++, Fortran, Java, Python, etc) and runtimes (Git, Jupyter, etc)

VSC is one of the most popular and powerful text editors used by software engineers today

free, open-source and available for macOS, Windows and Linux :+1:


WSL on a Windows UCLouvain PC

Linux from CII interface is overkill

based on Virtualbox: heavy workload :fearful:

No auto process (yet) to install WSL from UCLouvain IT support

You must install WSL by your own with the Administrator access from CII interface

Don't worry: just follow the guideline below... :muscle:



Windows required features

  1. From CII interface, ask for an Admin access

  2. Open a Powershell terminal in Administrator mode

  3. Copy paste this line and press Enter

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  1. Copy paste this line and press Enter
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  1. Restart your computer

Install WSL2

  1. From CII interface, ask for an Admin access

  2. Download the WSL2 update and install it (double click on the file)

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

  1. Open a Powershell terminal in Administrator mode

  2. Copy paste this line and press Enter

wsl --set-default-version 2

Install Ubuntu 22.04 from Microsft Store


First configuration of Ubuntu

(Open Ubuntu) and choose a login/password

In the Ubuntu terminal do

sudo apt update

sudo apt upgrade

Graphical User Interface

Open a Powershell terminal in User mode and do

wsl --update

maybe an Admin login/password is required (so ask for with CII interface)

Open a new Ubuntu terminal and do

sudo apt update
sudo apt upgrade
sudo apt install x11-apps -y

VS Code

You can install Visual Studio Code from the web link here

during installation, under the Additional Tasks step, ensure the Add to PATH option is checked


Open VS Code and install WSL for VS Code


Connect to WSL using a distro (Ubuntu 22.04)


Install extensions for "WSL: Ubuntu 22.04"

  • Python
  • Jupyter


Jupyter Notebook in VS Code

Create a new Juyter Notebook

Fill the first cell

import numpy as np

Try to run the cell

you must choose a Python environment first : Python 3.6 and Install

But... :boom:


So open your first WSL terminal in VS Code

In this Linux terminal, do

sudo apt install python3-pip

Try again to run the cell !

But now... :boom:


In your Linux terminal, install the missing Python extension ...

pip instal numpy

... and run the cell again: great, it's OK now :smiley:


Let's try a full notebook example

Install Git : sudo apt install git -y

Now clone this Git repository

git clone https://gogs.elic.ucl.ac.be/pbarriat/learning-vscode

You don't already know what's Git :question: Shame on you ! :confounded:

It's not to late: take a look here https://gogs.elic.ucl.ac.be/TECLIM/Git_Training

Now open the file example.ipynb


The first cell implies you must install some requirements

To run this example, install the extensions below

pip install netCDF4
sudo apt install libgeos-dev libgdal-dev
pip install cartopy

Now, try to run all the cells of this notebook :exclamation:


VS Code nice extensions

  • Remote - SSH : lets you use any remote machine with a SSH server
  • Tabnine : code faster with AI code completions
  • Regex Previewer : shows the current regular expression's matches
  • Modern Fortran : Fortran syntax is missing in built-in version

VSCode - Remote SSH : example

Select Remote-SSH: Open Configuration File

Host cyclone
    HostName cyclone.elic.ucl.ac.be
    User pbarriat

Visual Studio Code is now configured and ready to connect to your server :

click on the green Open a remote window button in the bottom left-hand corner and select Remote-SSH: Connect to Host

On ELIC workstation, choose a Python environment from ELIC_Python module : /opt/easybuild/...


Ubuntu with WSL (and without VS Code)

I strongly recommand to install Windows Terminal Preview from Microsft Store


Visual Studio Code for WSL :speech_balloon: