Windows ターミナルのヒントとテクニック

初回起動時

Windows ターミナルを初めてインストールすると、Windows PowerShell プロンプトが表示されます。 Windows ターミナルには、既定で Windows PowerShell、コマンド プロンプト、Azure Cloud Shell プロファイルが含まれています。

Windows Subsystem for Linux (WSL) ディストリビューションをインストールすると、ターミナルによってそれらのディストリビューションのプロファイルが自動的に作成されます。 ターミナルのインストール後に追加の WSL ディストリビューションをインストールすると、それらのディストリビューションのプロファイルが次のターミナル起動時に自動的に表示されます。 これらのプロファイルでは、アイコンとして Linux Tux イメージが使用されます。

注

必要に応じて、各 WSL ディストリビューションのアイコンを変更できます。 特定の配布アイコンはターミナル内に出荷されませんが、ターミナル設定を使用してダウンロードして割り当てることができます。

既定の設定を表示する

Windows ターミナルには、 配色 や キーボード ショートカット (現在は "カスタム アクション" と呼ばれる) など、多数の既定の設定が用意されています。 既定の設定ファイルを表示するには、 Alt キー を押しながらドロップダウン メニュー内の [設定] ボタンを選択します。

既定のプロファイル設定

Windows ターミナルを使用すると、各プロファイル エントリの設定を複製しなくても、すべてのプロファイルに設定を適用できます。 profiles オブジェクト内の "defaults" 配列内に設定を追加します。 プロファイルの全般設定、外観プロファイルの設定、および高度なプロファイル設定の詳細について説明します。

"profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles.
            "fontFace": "Cascadia Code"
        },
        "list":
        []
    }

タブの名前を変更する

そのターミナル セッションのタブの名前を変更するには、タブを右クリックし、[ タブの名前の変更] を選択します。コンテキスト メニューでこのオプションを選択すると、タブ タイトルがテキスト フィールドに変更され、そこでタイトルを編集できます。 ターミナル インスタンスごとにそのプロファイルのタブ タイトルを設定するには、 Tab タイトルのチュートリアルを参照してください。

[Windows ターミナル] タブの名前変更

タブに色を付け

ターミナル セッションのタブの色を設定するには、タブを右クリックし、[ 色]を選択します。...定義済みの一覧から色を選択するか、[ カスタム]を 選択します。カラー ピッカーまたは RGB/HSV フィールドまたは 16 進フィールドを使用して任意の色を選択します。

[Windows ターミナル] タブの色

ヒント

シームレスな外観を得るために、タブを背景色と同じ色に設定するには、16 進フィールドを使用します。

プロファイルの一部として tabColor を設定します。 「 プロファイル - 外観: タブの色」を参照してください。 例えば次が挙げられます。

 {
            "guid": "{1234abc-abcd-1234-12ab-1234abc}",
            "name": "Windows PowerShell",
            "background": "#012456",
            "tabColor": "#012456",
        },

配色の一部として tabColor を設定することはできません。 また、エスケープ シーケンスを使用して コマンド ラインからタブ タイトルを設定 できますが、現在、この方法ではタブの色を設定できません。

マウス操作

マウスを使用すると、いくつかの方法で Windows ターミナルを操作できます。

マウスでズームする

Ctrl キーを押しながらスクロールすると、Windows ターミナルのテキスト ウィンドウを拡大 (テキスト サイズを大きくまたは小さく) できます。 ズームは、そのターミナル セッションに対して保持されます。 フォント サイズを変更するには、[ プロファイル - 外観] ページを参照してください。

マウスで背景の不透明度を調整する

Ctrl + Shift キーを押しながらスクロールすることで、背景の不透明度を調整できます。 そのターミナル セッションの不透明度は保持されます。 プロファイルのアクリルの不透明度を変更するには、[プロファイル - 外観] ページを参照してください。

注

Windows ターミナル バージョン 1.12 では、設定で useAcrylic を true に設定しない限り、マウス ホイールで背景の不透明度を変更すると、既定でヴィンテージ スタイルの不透明度が使用されます。 以前のバージョンでは、ターミナルは常に透明化のためにアクリルを使用しました。

Windows ターミナル内からハイパーリンクを開くには、 Ctrl キー を押しながらクリックします。

ファイルまたはフォルダーをドラッグ アンド ドロップして開く

[ 新しいタブ] ボタンの上にファイルまたはフォルダーをドラッグ アンド ドロップすると、そのファイルまたはフォルダーで既定のプロファイルを開くことができます。 既定では、このアクションによって新しいタブが開きます。 Alt キーを押しながら現在のタブで新しいウィンドウを開くか、 Shift キー を押しながら新しいウィンドウを開きます。

Windows ターミナルのドラッグ アンド ドロップ

コピーと貼り付け

マウスで右クリックすると、クリップボードストレージを使用してWindowsターミナル内のテキストをコピーして貼り付けることができます。

Windows ターミナルには、に設定できる 設定も含まれており、マウスで選択したテキストをクリップボードにすぐにコピーできます。 マウスを右クリックすると、必ず貼り付けが実行されます。

仮想ターミナルと WSL マウスのサポート

Windows ターミナルでは、Windows Subsystem for Linux (WSL) アプリケーションおよび仮想ターミナル (VT) 入力を使用する Windows アプリケーションでのマウス入力がサポートされています。 このサポートは、 tmux や Midnight Commander などのアプリケーションがターミナル ウィンドウで項目を選択したときに認識します。 アプリケーションがマウス モードの場合は、 Shift キーを押しながら VT 入力を送信する代わりに選択を行います。

キー バインドを使用して入力コマンドを送信する

Windows ターミナルでは、キー バインドを使用してシェルに入力を送信できます。 settings.json ファイルの "actions" 配列内で次の構造体を使用します。

{ "command": {"action": "sendInput", "input": ""}, "keys": "" }

必要に応じて、 "name": "" 値を追加することもできます。

画面をクリアする

キーボード ショートカットを使用してシェルに入力を送信することは、頻繁に実行するコマンドに役立ちます。 1 つの例は、画面をクリアすることです。

{ "command": {"action": "sendInput", "input": "clear\r"}, "keys": "alt+k", "name": "clear terminal" }

キー バインドを使用して親ディレクトリに移動することも役立ちます。

{ "command": {"action": "sendInput", "input": "cd ..\r"}, "keys": "ctrl+up" }

この機能を使用して、ビルドまたはテスト スクリプトを実行できます。

フォーカス モード

"フォーカス モード" では、通常は Windows ターミナルの上部にあるタイトル バーとタブが非表示になります。 端末のコンテンツにのみフォーカスを合わせることができます。 Visual Studio Code の "Zen モード" に似ています。

フォーカス モードに切り替えるには、を開き、"フォーカス モード" に入り、[フォーカス モードの切り替え] を選択します。フォーカス モードを終了するには、同じ手順を繰り返します。

Windows ターミナルを起動するたびにフォーカス モードを起動するように設定するには、[ 設定] (Ctrl + ,) を開き、[ スタートアップ ] タブを選択します。[ 起動モード] で、[ フォーカス ] (または [ フォーカスの最大化] を選択します。これは、ターミナル ウィンドウが最大化されたフォーカス モードです)。 終了する前に [保存] を選択します 。 次に Windows ターミナルを起動すると、フォーカス モードで開きます。 Windows ターミナルがフォーカス モードで起動されないようにするには、次の同じ手順に従いますが、[起動モード] オプションの一覧から [既定値] を選択します。

フォーカス モードに入るためのショートカット キー (またはキー バインド) を追加するには、 settings.json ファイル (Ctrl + Shift + ,) を開きます。 settings.json ファイル内で、"actions": セクションを見つけて、次のコマンドを追加します。

{ "command": "toggleFocusMode", "keys": "ctrl+f12" }

"ctrl + f12" を任意のショートカットまたはキーバインドに置き換えますが、[アクション] リストから既存のキーバインドを繰り返さないでください。 [Windows ターミナル設定] ダッシュボードの [アクション] タブには、関連付けられたキーバインドを含むアクションの一覧と、+ 新しいバインドの追加も表示されます。 変更を加えてから 必ず保存してください 。 作成した "アクション" ショートカット キーを使用して、フォーカス モードを切り替えることができるようになりました。 (この例では、 Ctrl + F12)。

このコマンドの詳細については、 toggleFocusModeを参照してください。

Quake モード

「Quake モード」は、ウィンドウに _quake名前を付けるときにターミナルが入る特別なモードです。 ウィンドウが quake モードの場合:

  • ターミナルは自動的にモニターの上半分に位置を調整します。

  • ウィンドウのサイズを水平方向または上部から変更することはできません。 一番下にのみサイズを変更できます。

  • ウィンドウは自動的にフォーカス モードに切り替わります (フォーカス モードでは複数のタブを使用できることに注意してください)。

  • windowingBehaviorを"useExisting"または"useAnyExisting"に設定すると、_quake ウィンドウの存在は無視されます。

  • 最小化すると、ウィンドウはタスク バーと Alt + Tab キーから非表示になります。

  • 一度に 1 つのウィンドウしか Quake モードのウィンドウにできません。

quakeMode アクションをバインドするか、コマンド ラインを手動で実行して、quake モード ウィンドウを作成できます。

wt -w _quake

注

quakeModeアクションをバインドせず、quake ウィンドウを最小化する場合は、タスク マネージャーに移動してそのターミナル ウィンドウを終了する必要があります。

分割ウィンドウのショートカット

タブを切り替えずに関連するタスク (ログ、エディター、シェル) を表示したままにするには、ペインを使用します。 現在のウィンドウを水平方向または垂直方向に分割したり、現在の環境を複製したり、フォーカスを移動したり、ウィンドウのサイズを変更したりできます。

"actions"のsettings.json配列に追加する共通キー バインド:

{ "command": { "action": "splitPane", "split": "auto" }, "keys": "alt+shift+d", "name": "Split (auto)" },
{ "command": { "action": "splitPane", "split": "vertical" }, "keys": "alt+shift+v" },
{ "command": { "action": "splitPane", "split": "horizontal" }, "keys": "alt+shift+h" },
{ "command": { "action": "duplicatePane" }, "keys": "alt+shift+u", "name": "Duplicate pane" },
{ "command": { "action": "moveFocus", "direction": "left" }, "keys": "alt+left" },
{ "command": { "action": "moveFocus", "direction": "right" }, "keys": "alt+right" },
{ "command": { "action": "moveFocus", "direction": "up" }, "keys": "alt+up" },
{ "command": { "action": "moveFocus", "direction": "down" }, "keys": "alt+down" },
{ "command": { "action": "resizePane", "direction": "left" }, "keys": "alt+shift+left" },
{ "command": { "action": "resizePane", "direction": "right" }, "keys": "alt+shift+right" },
{ "command": { "action": "resizePane", "direction": "up" }, "keys": "alt+shift+up" },
{ "command": { "action": "resizePane", "direction": "down" }, "keys": "alt+shift+down" }

splitPane "split": "auto"では、使用可能なスペースに基づいて向きを選択します。 duplicatePane は、同じプロファイルと作業ディレクトリを持つ新しいペインを作成します。 詳細については、「パネル」を参照してください。

起動時に複数のウィンドウとタブを起動する

1 つの wt コマンドから事前に配置されたワークスペースを開くことができます。 ;を使用してコマンドを分離し、sp (またはsplit-pane) を使用してペインを作成します。

wt -p "Windows PowerShell" ; sp -p "Command Prompt" ; new-tab -p "Ubuntu" ; sp -H -p "Ubuntu" ; focus-tab -t 0

ヒント:

  • -d .の後に-p (またはパス) を追加して、特定のディレクトリで開始します。
  • --titleを使用して初期タブ タイトルを設定します。
  • new-tab、split-pane、およびfocus-tabをチェーンして、目的の場所にフォーカスを設定します。

スクロールバック内を検索する

組み込みの検索 (Ctrl+Shift+F) を使用して、表示される行だけでなく、完全なスクロールバック バッファー全体のテキストを検索します。 検索 UI から大文字と小文字の区別または正規表現を切り替えます。

強化のヒント: 保持される行の数を増やして、 "historySize" を調整して検索の履歴を増やします (多くの場合、9000 です)。 最上位レベルの設定の例:

"historySize": 20000

検索に以前のセッションも含める場合は、出力をファイルに記録し、外部検索ユーティリティを使用することを検討してください。 詳細については、「検索」を 参照してください。

JSON フラグメントを使用したモジュール設定

大規模な構成を複数のファイルに分割してインポートすることで、大きな構成を保守可能な状態に保ちます。 個別のファイル ( my-actions.json、 my-themes.jsonなど) を作成し、 "import"で参照します。

{
    "$schema": "https://aka.ms/terminal-profiles-schema",
    "import": ["my-actions.json", "my-themes.json"],
    "profiles": { "list": [] }
}

各フラグメント ファイルには、設定のサブセット ( "actions"、 "themes"など) を含めることができます。 詳細については、 JSON フラグメント拡張機能 を参照してください。

動的プロファイルの管理

Windows ターミナルでは、PowerShell、Azure、WSL などのソースのプロファイルが自動生成されます。 プロファイル リストを簡略化するために使用しないソースを非表示にします。

"disabledProfileSources": ["Azure", "PowerShell"]

これを settings.jsonの最上位レベルに追加します。 使用可能なソース名については、 動的プロファイル を参照してください。

プロファイルごとの環境変数

システム全体に影響を与えずにコンテキスト固有の環境変数を設定します。 プロファイル内に "environment" オブジェクトを追加します。

{
    "name": "Dev PowerShell",
    "commandline": "pwsh.exe",
    "environment": {
        "NODE_ENV": "development",
        "DEBUG": "1"
    }
}

これをさまざまな "startingDirectory" 値 (リポジトリ ルートなど) と組み合わせて、専用のシェルを作成します。

レトロな端末効果とテーマ

懐かしい外観を実現するには、アクリルの透明度と一致する tabColorと共にレトロ CRT シェーダーを有効にします。

{
    "name": "Retro Prompt",
    "background": "#101010",
    "useAcrylic": true,
    "acrylicOpacity": 0.8,
    "tabColor": "#101010",
    "experimental.retroTerminalEffect": true
}

モノクロカラースキームまたは組み込みの「ヴィンテージ」スキームと組み合わせて最適な結果を得られます。

シェル統合とスマート タブ タイトル

Windows ターミナル (およびタブ タイトル) に現在のディレクトリ、git ブランチ、または仮想環境が反映されるように、シェル プロンプトをカスタマイズします。 カスタム プロンプトの設定に関するチュートリアルを参照してください。

sendInputを使用して、キーをバインドして、エスケープ シーケンスを使用してタブ タイトルを手動で更新することもできます。 例 (PowerShell によるプロンプトのクリアと強制的な再描画):

{ "command": { "action": "sendInput", "input": "clear\r" }, "keys": "ctrl+alt+0", "name": "Refresh title" }

より複雑な進行状況インジケーターと動的グリフについては、 進行状況バー シーケンス を調べ、Powerline グリフ (Cascadia Code PL など) を使用してフォントバリアントをインストールします。