はじめに
Visual Studio Code でコードを書くために、リポジトリを WSL 外に置かなきゃなあ、と思っていたところ、なんと WSL 内から Visual Studio Code を実行できるようです。(情報提供ありがとうございます)
ということでやってみました。Ubuntu に VSCode はインストールしていないので Windows 側のプログラムを探して開いてみました。というか WSL にはインストールできませんでした。
環境
Windows11 / WSL2 Ubuntu 22.04.01
やってみた
$ find /mnt/c -name "Code.exe" 2>/dev/null
/mnt/c/Users/<ユーザー名>/AppData/Local/Programs/Microsoft VS Code/Code.exe
$ cd <path/to/your/repository/>
$ "/mnt/c/Users/<ユーザー名>/AppData/Local/Programs/Microsoft VS Code/Code.exe" ./
できました! VSCode で Ubuntu 上のファイルを開くことができました!
メモ帳も起動してみた
$ "/mnt/c/Windows/System32/notepad.exe" ./README.md
こちらも開けました!
code コマンドの alias 登録
一発で VSCode が開けるように、alias に登録しておきましょう。
alias code="'/mnt/c/Users/<ユーザー名>/AppData/Local/Programs/Microsoft VS Code/Code.exe'"
これで、code ./
で VSCode が起動できるようになりました。
感想
リポジトリを WSL 外に置いて開発するのも試してみたのですが、正直に言うと、WSL 内部から Windows 側のファイルにアクセスするの遅すぎてガチ泣きしました……。yarn start
とかデータベースアクセスとかが非常に遅かったです……。これからは Linux 側にリポジトリを置いて、VSCode からアクセスするようにしたいと思います。
また、npm start
実行中のソースファイル更新の検知(ホットリロード)についても、Windows 側にリポジトリを置くと動作しないようでした。この観点からも、Linux 側にコードを置くのが望ましいかと思います。
Linux 内のファイルにアクセスできる仕組みが全く分からないので、誰か教えてください……。VSCode の Remote プラグインなども特にインストールしておりませんゆえ……。
追記:
コメント欄で情報を頂きましたが、 Linux 上のファイルはネットワークドライブに割り当てられているようでした。なるほど!
$ wslpath -w /home
\\wsl.localhost\Ubuntu-22.04\home