Windows Subsystem for Linux (WSL 2) e VS Code
Programar no Linux estando no Windows
Estou utilizando o Windows Subsystem for Linux (WSL) da Microsoft. Pra quem ainda não o conhece, WSL é uma tecnologia da Microsoft que permite utilizar Linux nativamente no Windows 10 sem virtualização (sem? talvez não :)). Ficou curioso?
Instalação
1. Instalação do WSL
Abra o PowerShell do Windows como administrador e execute este comando:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Reinicie o computador.
2. Update para WSL 2
No momento da escrita deste post, o WSL é instalado por padrão na versão 1. A Microsoft já lançou o WSL 2 e portanto segue instruções de atualização:
Algumas das vantagens do WSL 2:
Kernel compledo do Linux;
Melhor desempenho;
Suporte ao Docker, Kubernetes e ao padrão de containers;
Pre-requisitos:
Sua versão do Windows 10 Home ou Pro precisa ser superior a 1903 Build 18362. Para saber a versão do Windows, tecle Windows + R e digite o comando
winver
;O recurso de virtualização de sua placa mãe precisa tá habilitado. Você pode verificar isso no Gerenciador de Tarafas Windows. Tecle Windows + R e digite o comando
taskmgr
. Vá em Mais detalhes / Desempenho / CPU. Procure por Virtualização;4GB RAM (mínimo).
Estando com os pré-requisitos atendidos, habilite o componente VirtualMachinePlatform do Windows. Abra o PowerShell como administrador e execute este comando:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Reinicie o computador
3. Atualize o Kernel do Linux
Link aqui (como administrador)
4. Defina o WSL 2 como versão padrão
Abra o PowerShell como administrador e execute este comando:
wsl --set-default-version 2
5. Instale uma distro do Linux de sua preferência:
Limite a quantidade de recursos consumidos pelo WSL (Recomendação)
No diretório *%UserProfile%* do Windows, crie o arquivo **.wslconfig com o seguinte conteúdo de exemplo.
[wsl2]
memory=3GB # limite de memoria RAM
swap=0 # 0 para não usar swap
No exemplo acima, definimos um limite de 3GB de memória RAM e a não utilização de Swap. Veja outros parâmetros que pode ser definidos (fonte):
kernel= # An absolute Windows path to a custom Linux kernel.
memory= # How much memory to assign to the WSL2 VM.
processors= # How many processors to assign to the WSL2 VM.
swap= # How much swap space to add to the WSL2 VM. 0 for no swap file.
swapFile= # An absolute Windows path to the swap vhd.
localhostForwarding= # Boolean specifying if ports bound to wildcard or localhost in the WSL2 VM should be connectable from the host via localhost:port (default true).
# entries must be absolute Windows paths with escaped backslashes, for example C:\\Users\\Ben\\kernel
# entries must be size followed by unit, for example 8GB or 512MB
Experimente o Windows Terminal
A Microsoft nunca teve um terminal a altura dos terminais Linux mas te convido a dar uma chance ao Windows Terminal. Você vai se surpreender.
Abra o Windows Terminal e com o simples clique no menu ao lado do botão de nova guia, você encontrar suas distros linux.
WSL 2 e VSCode
Em seu VSCode, instale a extensão ms-vscode-remote.remote-wsl. No Linux, você pode abrir o VSCode apenas digitando:
code .
Pronto. Seu VSCode estará executando como se estivesse dentro do Linux. Inclusive o terminal do VSCode estará linkado com o terminal do Linux.
Gostou? Experimenta digitar no Linux o comando
explorer.exe .
Acesse o WSL pelo Windows Explorer
Pre-requisito: O WSL precisa está rondando. Você pode verificar isso abrindo PowerShell e executando o comando wsl -l -v
.
Na barra de endereços do Windows Explorer, digite \\wsl$