VS Code の統合ターミナルで Git Bash や fish もサポートされたので試してみた

2022.09.02

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

VS Code 1.71 がリリースされました?

マージエディタの改善や、スティッキースクロールが GA したり (editor.stickyScroll.enabled)、統合ターミナル周りの改善など様々なアップデートがありました。

またプレビュー機能ですが、ファイルの移動や名前を変更したときに、該当ファイルを参照している Markdown のリンクを自動で追随して変更してくれる機能も来ているようで気になっています。 (markdown.experimental.updateLinksOnFileMove.enabled)

今回のアップデートで個人的に一番嬉しかったのは、統合ターミナルで Git Bash も(まだ実験的ですが)サポートされたことです。

統合ターミナルではコマンドの検出や装飾、ナビゲーションなどの便利な機能が使うことができますが、サポートされているのは以下の組み合わせのみでした。

Supported shells:

Linux/macOS: bash, pwsh, zsh
Windows: pwsh

今回のアップデートでGit Bash と fish が(まだ実験的ですが)サポートされましたが、統合ターミナルとして使うには追加で作業が必要になるようです。

統合ターミナルで Git Bash を使えるようにする

やることとしては単純で、.bashrc にスクリプトを記述するだけです。

https://code.visualstudio.com/docs/terminal/shell-integration#_manual-installation

.bashrc を開きます。

code ~/.bashrc

そして以下のスクリプトを追記します。

[[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path bash)"

最後にシェルを開きなおすと有効になっているはずです。

以下の画像は左側が before、右側が afterです。統合ターミナルだとコマンドの実行結果の左側に がついており、成功/失敗が視覚的に分かるようになっています。(ap-northeast-1 と出ているのは starship の機能です)

またこの をクリックするとメニューが表示され、実行結果のコピーや再実行も簡単に行えます。長い実行結果をいちいちスクロールしながら選択してコピーする必要がなくなりました。

統合ターミナルには他にも様々な機能があります。VS Code 1.71 で Git Bash や fish もサポートされました。もしこれらのシェルを使っている方は早速セットアップをして他の機能を試してみてはいかがでしょうか。

https://code.visualstudio.com/docs/terminal/shell-integration#_features

ただしまだ実験的なサポート段階です。サポートされていない機能や挙動が不安定になる可能性もあります。もし挙動がおかしいといったことに遭遇した場合は是非 issue を作って報告してみてください。

https://github.com/microsoft/vscode