変更の範囲
プロジェクト(フォルダ)ごとに設定するか、ユーザ設定にするか選べる。プロジェクトごとに設定する場合は、プロジェクトフォルダの.vscode/settings.jsonを編集する。ユーザ設定の場合は、[Ctrl]+[Shift]+Pで「Open Settings (JSON)」を選ぶと編集できる。(ただしプロジェクトごとの設定でうまく動かなかったのでここでは非推奨)
以下の内容を記述。(追加する場合は外側のカッコを無視した中身だけを追加)
1 2 3 4 5 6 7 8 9 10 |
{ "terminal.integrated.shell.windows": "C:\\local\\msys2\\usr\\bin\\bash.exe", "terminal.integrated.shellArgs.windows": [ "--login", ], "terminal.integrated.env.windows": { "CHERE_INVOKING": "1", "MSYSTEM": "MINGW64", }, } |
bash.exeのパスは自分の環境に合わせる。バックスラッシュはエスケープするので2つ書く。環境変数CHERE_INVOKINGはディレクトリをホームに移動しない指示。MSYSTEMはMINGのツールチェインらしい。mingを使わなければ関係ないはず。
これを記述したら、プロジェクトを2回開き直す(最初に確認が行われるため)。
msys2のgitはうまく動かなかった(パス関係?)ので、オフィシャルのgitなら動くのでそれを設定
1 |
"git.path": "C:\\local\\git\\bin\\git.exe" |
しかもmsys2はもともとのWindowsのパスを無視してしまうのでnodeやnpmが使えないのでVSCodeで好きなシェルを起動できる拡張の「Shell launcher」をインストール。設定で以下を追加。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
"shellLauncher.shells.windows": [ { "shell": "C:\\Windows\\sysnative\\cmd.exe", "label": "cmd" }, { "shell": "C:\\Windows\\sysnative\\WindowsPowerShell\\v1.0\\powershell.exe", "label": "PowerShell" }, { "shell": "C:\\local\\git\\bin\\git.exe", "label": "Git bash" }, { "shell": "C:\\Windows\\sysnative\\bash.exe", "label": "WSL Bash" } ] |
ここにあるパスは有効なものしか機能しない。cmdやPowerShell実際の値はVSCodeが設定する値(”terminal.integrated.shell.windows”)から確認できる。以下の動画を参照。
ショートカットキーを登録
Files –> Preferences –> Keyboard Shortcutsから登録。
またはユーザ設定のフォルダにあるkeybindings.json(C:\Users\ユーザー\AppData\Roaming\Code\User\settings.json)を以下のようにする。
1 2 3 4 5 6 |
[ { "key": "ctrl+shift+oem_3", "command": "shellLauncher.launch" } ] |
1 2 3 4 |
これで登録してあるシェルの中からショートカットキー [Ctrl]+[Shift]+`で 好きなものを起動できる。(`はバックチック。ただし当方英語キーボード) (ここhtmlで`がうまく表示できないのでpre内(謎)) |