はじめに
この記事では、PowerShellの関数を使って、複数のフォルダ(Windows側とWSL側)を一発で開く方法を紹介します。
環境
- Windows 11
- Visual Studio Code
- Windows Terminal
- WSL2 (Debian)
基本的な考え方
PowerShellのプロファイルに関数を定義しておくことで、コマンド一つで以下の操作を実行できます:
- Windows側のフォルダをVS Codeで開く
- Windows Terminalで新しいタブを開く
- WSL上のフォルダをVS Codeで開く
実装方法
1. PowerShellプロファイルを開く
まず、PowerShellプロファイルを編集します。
notepad $PROFILE
$PROFILEは、PowerShellの設定ファイルのパスを示す特殊変数です。このコマンドでメモ帳が開き、プロファイルを編集できます。
プロファイルが存在しない場合は、以下のコマンドで作成します:
New-Item -Path $PROFILE -Type File -Force
2. 関数を定義する
プロファイルに以下のような関数を追加します。
例1: frontendとbackendを持つプロジェクト
function global:myproject {
code C:\Users\YourName\Projects\myproject\frontend
wt -w 0 new-tab --profile "wsl-debian" -- bash -c "code /home/username/github/myproject/backend"
}
例2: 別のプロジェクト
function global:webapp {
code C:\Users\YourName\Projects\webapp\client
wt -w 0 new-tab --profile "wsl-debian" -- bash -c "code /home/username/github/webapp/server"
}
注意: パスは実際の環境に合わせて変更してください。
3. プロファイルを再読み込み
保存後、以下のコマンドでプロファイルを再読み込みします:
. $PROFILE
使い方
PowerShellまたはWindows Terminalで、定義した関数名を実行するだけです:
myproject
または
webapp
これだけで、フロントエンドとバックエンドの両方のフォルダがVS Codeで開きます!
コマンドの解説
codeコマンド
code C:\Users\YourName\Projects\myproject\frontend
VS CodeでWindows側のフォルダを開きます。
wtコマンド
wt -w 0 new-tab --profile "wsl-debian" -- bash -c "code /home/username/github/myproject/backend"
-
wt: Windows Terminalを操作するコマンド -
-w 0: 現在のウィンドウ(ID: 0)を指定 -
new-tab: 新しいタブを作成 -
--profile "wsl-debian": 使用するプロファイル名を指定 -
-- bash -c "...": Bashコマンドを実行 -
code /home/...: WSL上のフォルダをVS Codeで開く
カスタマイズのポイント
プロファイル名の確認
Windows Terminalのプロファイル名は、設定(Ctrl+,)から確認できます。
"name": "Debian"のような表記を探してください。
WSL側のプロファイルを作成していない場合は、以下の記事を参照して作成してください
パスの指定
-
Windowsパス:
C:\Users\...の形式 -
WSLパス:
/home/...の形式(Linuxのパス)
複数のプロジェクト
必要に応じて、プロジェクトごとに関数を追加していけば、すべてのプロジェクトを素早く開けます。
function global:project1 { ... }
function global:project2 { ... }
function global:project3 { ... }
まとめ
PowerShellの関数を使うことで、複数のフォルダを一発でVS Codeで開けるようになりました。
この方法は以下のような場合に特に便利です:
- フロントエンドとバックエンドが別リポジトリ
- WindowsとWSLでコードを分けている
- 毎日同じプロジェクトを開く作業が発生する
作業効率が大幅に向上するので、ぜひ試してみてください!