dynamicsoar's log

主に研究関係のメモ

Windows で VS Code の integrated terminal を cygwin64 の bash にする

概要

デフォルトでは Powershell になっている integrated terminal(エディタ下部にあるターミナル)を cygwinbash に変えたい。ググると少し古い情報が色々ヒットするが、2018-09-01現在は既に公式に記載がある:

code.visualstudio.com

概ねここにある通りにやればいい。ただし install path が微妙に違うこともあるだろうから、そこに注意。具体的には、64 bit の場合は C:\Cygwin ではなく C:\cygwin64 がデフォルトの install path のはず。

手順

  1. Cygwin Installation の setup-x86_46.exe で chere を検索し、追加でインストールする。これを忘れてエディタ側の設定だけやってもターミナルの起動に失敗する。
  2. VS Code を起動。Ctrl + , で settings.json を開き、右側のユーザ設定の記述場所に以下を追加(パスは自分に合わせること)*1

    "terminal.integrated.shell.windows": "C:\\cygwin64\\bin\\bash.exe", "terminal.integrated.shellArgs.windows": ["/bin/xhere", "/bin/bash"]

  3. VS Code を再起動する。

トラブルシュート

もし、64 bit なのに "C:\\cygwin64\\bin\\bash.exe" でなく "C:\\cygwin\\bin\\bash.exe" と書いてしまった場合、VS Code で Terminal を起動しようとすると次のような感じのエラーが表示されて、起動に失敗する:

The terminal process command 'C:\Cygwin\bin\bash.exe /bin/xhere /bin/bash' failed to launch (exit code: 2)

そうなったら、落ち着いてパスを Cygwin64 に変更すればよい。

*1:あるいは、new settings editor で Features > Terminal を開き、ずっと下に降りていって Integrated.Shell: Windows と Integrated.Shell Args: Windows を設定しても良い。しかし、2018-09-01現在、後者は結局 settings.json に飛ばされる。