【備忘録】VSCodeとWindows TerminalでBashを普通に使うには (ヒストリー保存, etc...)


VSCodeで自動設定されるまま、WSLではない ローカルのbash (git-bash)を使うと、プロンプト設定が反映されていなかったり、ヒストリーが保存されなかったりします。
今回はVSCodeのターミナル設定を直すとともに、Windows Terminal・Console Window Hostでも、ローカルのbashを普通に使えるようにします。

インストールするもの

  • Git for Windows
  • Visual Studio Code
  • Windows Terminal

設定

Bash (git-bash)

.bash_profile

.bash_profile
GIT_PS1_SHOWDIRTYSTATE=1
GIT_PS1_SHOWUPSTREAM=1
GIT_PS1_SHOWUNTRACKEDFILES=1
GIT_PS1_SHOWSTASHSTATE=1

# プロンプトのカスタマイズ (リポジトリのブランチと状態を表示)
export PS1='\[\033[1;32m\]\u\[\033[00m\]:\[\033[1;34m\]\w\[\033[1;31m\]$(__git_ps1)\[\033[00m\] \$ '

# 【追記します】ヒストリーを保存するのに必要
PROMPT_COMMAND='history -a'

VSCode (ユーザー設定)

コマンドパレットから Open Settings (JSON)

{
    ...
    "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
    "terminal.integrated.shellArgs.windows": [
        "--login"
    ],
    ...
}

Windows Terminal

settings.json![conswinhost.png](https

{
    ...
    "profiles" : [
        ...
        {
            "acrylicOpacity" : 0.75,
            "background" : "#011e1e",
            "closeOnExit" : true,
            "colorScheme" : "Campbell",
            "commandline" : "C:\\Program Files\\Git\\bin\\bash.exe --login",
            "cursorColor" : "#FFFFFF",
            "cursorShape" : "bar",
            "fontFace" : "Migu 1M",
            "fontSize" : 11,
            "guid" : "{74e1050a-042a-47e7-af93-f1c8ec54d5eb}",
            "historySize" : 9001,
            "icon" : "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
            "name" : "Bash (MinGW)",
            "padding" : "0, 0, 0, 0",
            "snapOnInput" : true,
            "startingDirectory" : "%USERPROFILE%",
            "useAcrylic" : true
        },
        ...
    ],
    ....
}

【おまけ】Console Window Host (bash.exeへのショートカット)

minttyはコマンドのプログレス表示が上手くされないことがあるのでこちらを使用。