VSCodeのターミナル設定でGit Bashが選択できない問題

## 弊環境
OS：Windows11 Pro

VSCode バージョン：1.68.1

## 発生している問題
VSCodeのデフォルトターミナルをGitBashに設定するため、
"terminal.integrated.defaultProfile.windows"でGitBashを指定しようとしたらそもそもドロップダウンに表示されない。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/317957/328118dc-9f73-26e2-baa9-916efaf5dbe8.png)

## 結論
settings.jsonを以下のように編集しました。2つ注意点があります。

* "source"プロパティは設定しない
* "path"プロパティにはフルパスを指定する(※Gitを既定の場所以外にインストールした場合)

```json:setting.json
    "terminal.integrated.profiles.windows": {
        "PowerShell": {
          "source": "PowerShell",
          "icon": "terminal-powershell"
        },
        "Command Prompt": {
          "path": [
          "${env:windir}\\Sysnative\\cmd.exe",
          "${env:windir}\\System32\\cmd.exe"
          ],
          "args": [],
          "icon": "terminal-cmd"
        },
        "GitBash": {
          "path": [
            "D:\\Git\\bin\\bash.exe"
          ],
          "args":["-l"],
          "icon": "terminal-bash"
        }
    },
```


## 調査・対応内容
settings.jsonに以下のように追記した。そして再起動。

```json:setting.json
    "terminal.integrated.profiles.windows": {
        "PowerShell": {
          "source": "PowerShell",
          "icon": "terminal-powershell"
        },
        "Command Prompt": {
          "path": [
          "${env:windir}\\Sysnative\\cmd.exe",
          "${env:windir}\\System32\\cmd.exe"
          ],
          "args": [],
          "icon": "terminal-cmd"
        },
        "Git Bash": {
          "source": "Git Bash",
          "path": [
            "D:\\Git\\bin\\bash.exe"
          ],
          "args":["-l"],
          "icon": "terminal-bash"
        }
    },
    "terminal.integrated.defaultProfile.windows": "Git Bash"
```

再起動しても変わらないため、Git Bashのスペースを取り除いてみた。

```json:setting.json
    "terminal.integrated.profiles.windows": {
        "PowerShell": {
          "source": "PowerShell",
          "icon": "terminal-powershell"
        },
        "Command Prompt": {
          "path": [
          "${env:windir}\\Sysnative\\cmd.exe",
          "${env:windir}\\System32\\cmd.exe"
          ],
          "args": [],
          "icon": "terminal-cmd"
        },
        "GitBash": {
          "source": "GitBash",
          "path": [
            "D:\\Git\\bin\\bash.exe"
          ],
          "args":["-l"],
          "icon": "terminal-bash"
        }
    },
    "terminal.integrated.defaultProfile.windows": "GitBash"
```

再起動しても変わらず。。。
よく見ると"terminal.integrated.defaultProfile.windows"の値に対して以下の問題が表示されていた。
"terminal.integrated.profiles.windows"の設定内容が反映されず、どこか別のプロファイルが参照されている？

>Windows で使用される既定のプロファイルです。terminal.integrated.shell.windows または terminal.integrated.shellArgs.windows のいずれかが設定されている場合、現在この設定は無視されます。
>
> Value is not accepted. Valid values: null, "PowerShell", "Windows PowerShell", "Command Prompt", "Ubuntu-20.04 (WSL)", "JavaScript Debug Terminal".(1)

#

"terminal.integrated.shell.windows"を追記して、Git Bashのフルパスを設定してみた。
```json:setting.json
    "terminal.integrated.profiles.windows": {
        "PowerShell": {
          "source": "PowerShell",
          "icon": "terminal-powershell"
        },
        "Command Prompt": {
          "path": [
          "${env:windir}\\Sysnative\\cmd.exe",
          "${env:windir}\\System32\\cmd.exe"
          ],
          "args": [],
          "icon": "terminal-cmd"
        },
        "GitBash": {
          "source": "GitBash",
          "path": [
            "D:\\Git\\bin\\bash.exe"
          ],
          "args":["-l"],
          "icon": "terminal-bash"
        }
    },
    "terminal.integrated.defaultProfile.windows": "GitBash",
    "terminal.integrated.shell.windows" : "D:\\Git\\bin\\bash.exe"
```

ターミナルを再起動するとデフォルトでGit Bashが起動した！
しかし、ターミナルのプロファイルはsettings.jsonで設定した内容が反映されていないまま。。。

VSCodeのissueを見てみると色々と類似の問題が挙げられており、
以下issueのスレッドにあったstackoverflowの回答内容で解決した。

>VSCode issue #126023
https://github.com/microsoft/vscode/issues/126023

>stackoverflow
https://stackoverflow.com/questions/68068359/gitbash-not-showing-up-as-a-terminal-option-in-visual-studio-code/68140594#68140594

GitBashの"source"プロパティを削除してVSCodeを再起動すると、
設定の"terminal.integrated.defaultProfile.windows"ドロップダウン、
およびターミナルで選択できるプロファイルにもGitBashが表示されるようになった！
※Gitを規定の場所にインストールしていない場合は、"path"プロパティへフルパスを書く必要があるみたいです。