チュートリアル: Windows ターミナルでタブのタイトルを構成する

既定では、タブのタイトルはシェルのタイトルに設定されます。 タブが複数のペインで構成されている場合、タブのタイトルは、現在フォーカスがあるペインのタイトルに設定されます。 タブのタイトルとして設定する内容をカスタマイズする場合は、このチュートリアルに従ってください。

このチュートリアルでは、次の方法について説明します。

  • tabTitle 設定を使用する
  • シェルのタイトルを設定する
  • suppressApplicationTitle 設定を使用する

tabTitle 設定を使用する

tabTitle 設定では、シェルの新しいインスタンスの開始タイトルを定義できます。 設定されていない場合は、代わりにプロファイル name が使用されます。 この設定への応答はシェルごとに異なります。

Shell 動作
PowerShell タイトルが設定されます。
Command Prompt タイトルが設定されます。 コマンドが実行されている場合は、一時的にタイトルの末尾にそれが追加されます。
Ubuntu タイトルは無視され、代わりに user@machine:path に設定されます
Debian タイトルが設定されます。

Note

Ubuntu と Debian ではどちらも bash が実行されますが、動作は異なります。 これは、ディストリビューションによって動作が異なる場合があることを示しています。

シェルのタイトルを設定する

シェルは、自身のタイトルを完全に制御できます。 ただし、各シェルのタイトルの設定方法は異なります。

Shell コマンド
PowerShell $Host.UI.RawUI.WindowTitle = "New Title"
Command Prompt TITLE New Title
bash* echo -ne "\033]0;New Title\a"

一部の Linux ディストリビューション (Ubuntu など) では、シェルと対話するときにタイトルが自動的に設定されることに注意してください。 上記のコマンドが動作しない場合は、次のコマンドを実行します。

export PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
echo -ne '\033]0;New Title\a'

これにより、タイトルが "New Title" に変更されます。

アクセスしやすいように、これを ~/.bashrc の末尾に追加します。

settitle () {
  export PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
  echo -ne '\033]0;'"$1"'\a'
}

シェルを再度開いた後、次のコマンドを使用して、いつでもシェルのタイトルを変更できます。

settitle 'New Title'

suppressApplicationTitle 設定を使用する

シェルは自身のタイトルを制御しているため、いつでもタブタイトルを上書きすることができます。 たとえば、PowerShell の posh-git モジュールでは、Git リポジトリに関する情報がタイトルに追加されます。

Windows ターミナルでは、プロファイルの suppressApplicationTitletrue に設定することによって、タイトルの変更を抑制できます。 これにより、プロファイルの新しいインスタンスによって、表示されるタイトルが tabTitle に設定されます。 tabTitle が設定されていない場合、表示されるタイトルはプロファイルの name に設定されます。

これにより、タブに表示されている表示タイトルからシェルのタイトルが分離されることに注意してください。タイトルが設定されているシェルの変数を読み取ると、タブのタイトルと異なる場合があります。

参照情報