はじめに
年々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やシェル芸開発とか)
↧