LoginSignup
2
5

More than 1 year has passed since last update.

Visual Studio Codeの内部ターミナルにCmderを移植する

Posted at

はじめに

  • 年々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項目がヒットする.
image.png
まずはこれについて設定する.

Terminal >Integrated > Profiles: Windows項目のsettings.jsonで編集を選択し,VSCodeの設定JSONファイルを開く.
hoge01.png
上図の様に設定ファイルの該当箇所,terminal.integrated.profiles.windowsへフォーカスが移る.
Cmder用に新しく追加するオブジェクトは図中赤枠である.
オブジェクト名は判別できれば何でも良い.
キーであるpathはCmderで普段bashとして使っているbash.exeの場所を指定する.
bash.exeの場所はCmderを起動して下図のように設定を起動し,起動>タスクのbash項目を見ると分かる.
赤枠で囲っている箇所が対象のpathとなる.
hoge02.png
環境変数%ConEmuDir%に関しては,Cmder Bashでecho $ConEmuDirをコマンド実行すればパスが分かる.

argsは起動する際の引数を指定するキー,こちらはCmderの設定画面で見たとおり--login -iを指定する.

以上を設定し終え,最初の図に戻りTerminal > Integrated > Default Profile: Windowsをここで設定したプロファイルに変更することでStep1は完了となる.

Step2: 環境変数の設定

環境変数の設定と言ってもWindowsの環境変数でなく,VSCodeが内部ターミナルで使う環境変数の設定を行う.

ここで試しにStep1で設定したターミナルプロファイルを内部ターミナルで開いてみてほしい,起動と同時に設定ファイルやらが無いと出てくるはず.
image.png
Step2はこれを解決する.

方法は,3つの環境変数$CMDER_ROOT$ConEmuDir$ConEmuBaseDirをStep1同様Cmderにてechoコマンドを通して調べ,判明したpathをVSCodeで設定する.
下図のようにVSCode設定画面にてterminal integrated envと調べ,ヒットした項目から赤枠Terminal > Integrated > Env: Windowsを設定する.
image.png
settings.jsonで編集を選択し,フォーカスしたterminal.integrated.env.windowsオブジェクトを設定していく.
image.png
キーは上図の様にCMDER_ROOTConEmuDirConEmuBaseDirとCmder側の環境変数名と合わせ,pathはCmderで調べたパスをそのまま設定することでStep2は完了する.

おわりに

  • Cmderのbash.exeをVSCodeの内部ターミナルで使用することが出来る
  • コンソールを利用する開発では何かとbashの方が都合が良いときもあるため重宝する(Rustのcargoやpythonやシェル芸開発とか)
2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5