WSL pointers
Windows Subsystem for Linux (WSL) is my main programming environment, after giving up Windows in 2015. It is surprisingly good.
Shrink your virtual HD
The virtual hard drive in WSL seems to grow without bound (they grow as needed, but won't release space even if you delete data). After shutting down your WSL instances (i.e. wsl --shutdown
), run this in PowerShell (as an administrator):
Optimize-VHD -Path $VHD_PATH -Mode full
where the $VHD_PATH
is usually something like C:\Users\$USERNAME\AppData\Local\Packages\$DISTRO\LocalState\ext4.vhdx
There's an alternative method using diskpart
described here which I've successfully used before.
Use WSL VSCode plugin
I was a long-time holdout on Visual Studio Code (VSCode), but I've completely switched from vim except for on-server editing. The things that made me switch were (a) Pylance, (b) rust-analyzer, and (c) Copilot. rust-analyzer is available inside vim as well, but the integration is less convenient, at least for me (I like being able to hover over variables and see the inferred type, it is extremely helpful).
You can use the WSL extension to open a folder for editing.
If you have VSCode installed, you can use code .
from inside WSL to open a folder inside VSCode. This will also reset rust-analyzer
if it ends up in a bad state.