Windows Subsystem for Linux: How to edit dotfiles with Visual Studio Code
I use VS Code for most of my editing, so naturally I tried to edit my WSL
.gitconfig file in code using
code ~/.gitconfig. Now everything else I’ve opened (non dotfiles that is) with code has worked as expected. I get my normal Windows install of code to open with the directory and saving works as normal. However when I try to open my dotfiles like
.bashrc, it seems like I’m opening up two different files completely. What gives?
As touched upon in Dave Rupert’s intro to developing on Windows with WSL your WSL home directory (accessible at
~ from within WSL cli) is actually a special folder and should not be accessed by any non-wsl apps. So attempting to open one of these configs with your Windows version of code just won’t work.
In my case, what happened when I tried to open my
code ~/.gitconfig is that code actually created an identical path within my
C:/ drive of
C:/~/.gitconfig and had me editing that file. This was confusing as everytime I opened the file I would get my previously-saved version from the Windows file store whereas all my WSL apps were reading from the WSL file store rendering my changes to
In order to change dotfiles (or really anything in your WSL-controlled home directory) you’ll need to open it with a non-Windows app (think