はじめに
- 年々VSCodeが便利になり嬉しい
- 最近ではVSCodeのIntegrated Terminalがエディタと同レベルのタブとして扱えることに感動した
- 自分は普段WindowsのターミナルエミュレータとしてCmderを愛用,VSCodeの内部ターミナルでCmder (Bash)をそのまま使えるようにした
- 調べたらよくヒットするinit.batやvscode_init.batと言ったバッチファイルを使ったcmd.exe (bash風)の設定でなく,bash.exeが対象
- 記事執筆時のVSCodeのバージョンはVSCode-win32-x64-1.60.1
- 本設定はStep1とStep2で完了する
Step1: プロファイルの設定
VSCodeの設定画面でterminal integrated profile windows
と検索すると2項目がヒットする.
まずはこれについて設定する.
Terminal >Integrated > Profiles: Windows
項目のsettings.jsonで編集
を選択し,VSCodeの設定JSONファイルを開く.
上図の様に設定ファイルの該当箇所,terminal.integrated.profiles.windows
へフォーカスが移る.
Cmder用に新しく追加するオブジェクトは図中赤枠である.
オブジェクト名は判別できれば何でも良い.
キーであるpathはCmderで普段bashとして使っているbash.exeの場所を指定する.
bash.exeの場所はCmderを起動して下図のように設定を起動し,起動>タスクのbash項目を見ると分かる.
赤枠で囲っている箇所が対象のpathとなる.
環境変数%ConEmuDir%に関しては,Cmder Bashでecho $ConEmuDir
をコマンド実行すればパスが分かる.
argsは起動する際の引数を指定するキー,こちらはCmderの設定画面で見たとおり--login -i
を指定する.
以上を設定し終え,最初の図に戻りTerminal > Integrated > Default Profile: Windows
をここで設定したプロファイルに変更することでStep1は完了となる.
Step2: 環境変数の設定
環境変数の設定と言ってもWindowsの環境変数でなく,VSCodeが内部ターミナルで使う環境変数の設定を行う.
ここで試しにStep1で設定したターミナルプロファイルを内部ターミナルで開いてみてほしい,起動と同時に設定ファイルやらが無いと出てくるはず.
Step2はこれを解決する.
方法は,3つの環境変数$CMDER_ROOT
,$ConEmuDir
,$ConEmuBaseDir
をStep1同様Cmderにてechoコマンドを通して調べ,判明したpathをVSCodeで設定する.
下図のようにVSCode設定画面にてterminal integrated env
と調べ,ヒットした項目から赤枠Terminal > Integrated > Env: Windows
を設定する.
settings.jsonで編集を選択し,フォーカスしたterminal.integrated.env.windows
オブジェクトを設定していく.
キーは上図の様にCMDER_ROOT
,ConEmuDir
,ConEmuBaseDir
とCmder側の環境変数名と合わせ,pathはCmderで調べたパスをそのまま設定することでStep2は完了する.
おわりに
- Cmderのbash.exeをVSCodeの内部ターミナルで使用することが出来る
- コンソールを利用する開発では何かとbashの方が都合が良いときもあるため重宝する(Rustのcargoやpythonやシェル芸開発とか)