Windows ターミナルのカスタム アクション

重要

Windows ターミナル バージョン 1.4 から、keybindings 配列は settings.json ファイル内で actions に名前変更されました。 keybindings 配列のサポートは旧バージョンとの互換性のために残されていますが、ターミナルでは、settings.json ファイル内で keybindingsactions に自動的に名前変更されることはありません。

Windows ターミナル内にカスタム アクションを作成して、ターミナルとの対話方法を制御することができます。 これらのアクションは、自動的にコマンド パレットに追加されます。

アクションの形式

アクションは、次の形式で構成できます。

引数なしのコマンド

{ "command": "commandName", "keys": "modifiers+key" }

たとえば、この既定の設定では、ショートカット キー alt+f4 を使用してターミナル ウィンドウを閉じます。

{ "command": "closeWindow", "keys": "alt+f4" }

引数を指定したコマンド

{ "command": { "action": "commandName", "argument": "value" }, "keys": "modifiers+key" }

たとえば、この既定の設定では、ショートカット キー Ctrl + Shift + 1 を使用すると、ドロップダウン メニューにどのプロファイルが最初に表示されるかに基づいて、ターミナルで新しいタブが開きます (通常は PowerShell プロファイルを開きます)。

{ "command": { "action": "newTab", "index": 0 }, "keys": "ctrl+shift+1" }


アクションのプロパティ

アクションは、次のプロパティを使用して作成できます。

コマンド

これは、関連付けられたキーが押されたときに実行されるコマンドです。

プロパティ名:command

必須かどうか: 必須

受け入れ可能: String

キー

コマンドを呼び出すために使用するキーの組み合わせを定義します。 1 つのキーで任意の数の修飾子を持つことができます。 受け入れられる修飾子とキーを以下に一覧表示します。

アクションにキーがない場合、そのアクションはコマンド パレットには表示されますが、キーボードを使用して呼び出すことはできません。

プロパティ名:keys

必須かどうか: オプション

受け入れ可能: String または array[string]

操作

これにより、特定のコマンドに機能が追加されます。

プロパティ名:action

必須かどうか: オプション

受け入れ可能: String

名前

コマンド パレットに表示される名前を設定します。 指定されていない場合は、ターミナルによって名前の自動生成が試行されます。

プロパティ名:name

必要性: 任意

受け入れ可能: String

[アイコン]

コマンド パレット内に表示されるアイコンを設定します。

プロパティ名:icon

必須かどうか: オプション

受け入れ可能: ファイルの場所を表す文字列または絵文字



受け入れられる修飾子とキー

修飾子

ctrl+, shift+, alt+, win+

Note

Windows キーは修飾子としてサポートされていますが、ほとんどの win+<key> キー バインドはシステムによって予約されています。 OS でそのキー バインドが予約されている場合、ターミナルはそのバインドを受信しません。

修飾キー

種類 キー
関数と英数字キー f1-f24, a-z, 0-9
記号 `, plus, -, =, [, ], \, ;, ', ,, ., /
方向キー down, left, right, up, pagedown, pageup, pgdn, pgup, end, home
アクション キー tab, enter, esc, escape, space, backspace, delete, insert, app, menu
テンキーのキー numpad_0-numpad_9, numpad0-numpad9, numpad_add, numpad_plus, numpad_decimal, numpad_period, numpad_divide, numpad_minus, numpad_subtract, numpad_multiply
ブラウザー キー browser_back, browser_forward, browser_refresh, browser_stop, browser_search, browser_favorites, browser_home

注:=plus は等価です。 後者は numpad_plus と混同しないようにしてください。


アプリケーションレベルのコマンド

終了する

開いているすべてのターミナル ウィンドウを閉じます。 すべてのウィンドウを閉じることを確認する確認ダイアログが現在のウィンドウに表示されます。

コマンド名:quit

既定のバインド:

{ "command": "quit" }

ウィンドウを閉じる

現在のウィンドウとその中のすべてのタブが閉じられます。 confirmCloseAllTabstrue に設定されている場合は、すべてのタブを閉じることを確認する確認ダイアログが表示されます。 この設定の詳細については、外観の設定に関するページを参照してください。

コマンド名:closeWindow

既定のバインド:

{ "command": "closeWindow", "keys": "alt+f4" }

Windows ターミナルのすべてのタブを閉じるの確認

[検索]

[検索] ダイアログ ボックスが開きます。 検索の詳細については、検索に関するページを参照してください。

コマンド名:find

既定のバインド:

{ "command": "find", "keys": "ctrl+shift+f" }

次/前の検索結果を検索する

複数の検索結果の間を移動できます。

コマンド名:findMatch

既定のバインド:

{ "command": { "action": "findMatch", "direction": "next" } },
{ "command": { "action": "findMatch", "direction": "prev" } }

パラメーター

名前 必要 受け入れられる型 説明
direction 必須 "next", "prev" 検索結果の間を移動する方向。

ドロップダウンを開く

ドロップダウン メニューが開きます。

コマンド名:openNewTabDropdown

既定のバインド:

{ "command": "openNewTabDropdown", "keys": "ctrl+shift+space" }

設定ファイルを開く

target フィールドに応じて、設定 UI、カスタム設定ファイル (settings.json)、または既定の設定ファイル (defaults.json) を開きます。 target フィールドがない場合は、カスタム設定ファイルが開きます。

コマンド名:openSettings

既定のバインド:

{ "command": { "action": "openSettings", "target": "settingsUI" }, "keys": "ctrl+," },
{ "command": { "action": "openSettings", "target": "settingsFile" }, "keys": "ctrl+shift+," },
{ "command": { "action": "openSettings", "target": "defaultsFile" }, "keys": "ctrl+alt+," },

パラメーター

名前 必要 受け入れられる型 説明
target 省略可能 "settingsFile", "defaultsFile", "settingsUI", "allFiles" 開く設定ファイルです。

システム メニューを開く

ウィンドウの左上隅にあるシステム メニューを開きます。

コマンド名:openSystemMenu

既定のバインド:

{ "command": "openSystemMenu", "keys": "alt+space" }

全画面表示の切り替え

全画面表示と既定のウィンドウ サイズを切り替えることができます。

コマンド名:toggleFullscreen

既定のバインド:

{ "command": "toggleFullscreen", "keys": "alt+enter" },
{ "command": "toggleFullscreen", "keys": "f11" }

フォーカス モードを切り替える

タブとタイトル バーが非表示になる "フォーカス モード" に切り替えます。

コマンド名:toggleFocusMode

既定のバインド:

{ "command": "toggleFocusMode" }

[常に手前に表示] モードを切り替える

ウィンドウの "常に手前に表示" 状態を切り替えることができます。 "常に手前に表示" モードになっている場合、ウィンドウは他のすべての非最前面ウィンドウの手前に表示されます。

コマンド名:toggleAlwaysOnTop

既定のバインド:

{ "command": "toggleAlwaysOnTop" }

入力を送信する

任意のテキスト入力をシェルに送信します。 たとえば、入力が "text\n" の場合、"text" と、それに続く改行がシェルに書き込まれます。

ANSI エスケープ シーケンスを使用できますが、\x1b のようなエスケープ コードは \u001b として記述する必要があります。 たとえば、"\u001b[A" は上矢印ボタンが押された場合と同様に動作します。

コマンド名:sendInput

既定のバインド:

このコマンドは、現在、既定の設定ではバインドされません

{ "command": { "action": "sendInput", "input": "\u001b[A" }, "keys": "" }

パラメーター

名前 必要 受け入れられる型 説明
input 必須 String シェルにフィードするテキスト入力。


タブ管理コマンド

タブを閉じる

特定のインデックスにあるタブを閉じます。 インデックスが指定されていない場合は、フォーカスされているタブのインデックスを使用します。

コマンド名:closeTab

パラメーター

名前 必要 受け入れられる型 説明
index オプション Integer 閉じるタブの位置。

他のすべてのタブを閉じる

インデックスにあるタブを除くすべてのタブを閉じます。 インデックスが指定されていない場合は、フォーカスされているタブのインデックスを使用します。

コマンド名:closeOtherTabs

既定のバインド:

{ "command": "closeOtherTabs" }

パラメーター

名前 必要 受け入れられる型 説明
index オプション Integer 開いた状態を維持するタブの位置。

インデックスの後にあるタブを閉じる

インデックスにあるタブよりも後ろにあるタブを閉じます。 インデックスが指定されていない場合は、フォーカスされているタブのインデックスを使用します。

コマンド名:closeTabsAfter

既定のバインド:

{ "command": "closeTabsAfter" }

パラメーター

名前 必要 受け入れられる型 説明
index オプション Integer 開いた状態を維持する最後のタブの位置。

タブを複製

現在のタブのプロファイルとディレクトリのコピーを作成し、開きます。 これには、変更または追加された環境変数は含まれません。

コマンド名:duplicateTab

既定のバインド:

{ "command": "duplicateTab", "keys": "ctrl+shift+d" }

新しいタブ

新しいタブが作成されます。引数を指定しないと、既定のプロファイルが新しいタブで開きます。インデックスが指定されていない場合は、既定のプロファイルの同等の設定が使用されます。 インデックスがプロファイルにマップされない場合、キーはターミナルに直接渡されます (アクションの呼び出しにキーが使用されなかった場合は無視されます)。

コマンド名:newTab

既定のバインド:

{ "command": "newTab", "keys": "ctrl+shift+t" },
{ "command": { "action": "newTab", "index": 0 }, "keys": "ctrl+shift+1" },
{ "command": { "action": "newTab", "index": 1 }, "keys": "ctrl+shift+2" },
{ "command": { "action": "newTab", "index": 2 }, "keys": "ctrl+shift+3" },
{ "command": { "action": "newTab", "index": 3 }, "keys": "ctrl+shift+4" },
{ "command": { "action": "newTab", "index": 4 }, "keys": "ctrl+shift+5" },
{ "command": { "action": "newTab", "index": 5 }, "keys": "ctrl+shift+6" },
{ "command": { "action": "newTab", "index": 6 }, "keys": "ctrl+shift+7" },
{ "command": { "action": "newTab", "index": 7 }, "keys": "ctrl+shift+8" },
{ "command": { "action": "newTab", "index": 8 }, "keys": "ctrl+shift+9" }

パラメーター

名前 必要 受け入れられる型 説明
commandline オプション 実行可能ファイル名を表す文字列 実行可能ファイルがタブ内で実行されます。
startingDirectory オプション フォルダーの場所を表す文字列 タブが開かれるディレクトリ。
elevate オプション true, false, null プロファイルの elevate プロパティをオーバーライドします。 省略した場合、このアクションはプロファイルの elevate 設定に従って動作します。 true または false に設定した場合、このアクションの動作は、プロファイルが (それぞれ) "elevate": true または "elevate": false で設定されたかのようになります。
tabTitle 省略可能 String 新しいタブのタイトル。
index オプション 整数 ドロップダウンでの位置 (0 から開始) に基づいて開かれるプロファイル。
profile オプション プロファイルの名前または GUID を表す文字列 GUID または名前に基づいて開かれるプロファイル。
colorScheme オプション 配色の名前を表す文字列 プロファイルの set colorScheme の代わりに使用するスキーム
suppressApplicationTitle オプション true, false false に設定された場合、アプリケーションはタイトル変更メッセージを送信することでタブ タイトルを変更できます。 true に設定された場合、これらのメッセージは抑制されます。 指定されなかった場合、動作はプロファイルの設定から継承されます。 新しいタブ タイトルを入力し、そのタイトルを保持するには、これを true に設定する必要があります。

次のタブを開く

現在のタブの右側にタブが開きます。

コマンド名:nextTab

既定のバインド:

{ "command": "nextTab", "keys": "ctrl+tab" }

パラメーター

名前 必要 受け入れられる型 説明
tabSwitcherMode オプション "mru", "inOrder", "disabled" "tabSwitcherMode" を使って次のタブに移動します。 モードが指定されていない場合は、グローバルに定義されたモードを使用します。

前のタブを開く

現在のタブの左側にタブが開きます。

コマンド名:prevTab

既定のバインド:

{ "command": "prevTab", "keys": "ctrl+shift+tab" }

パラメーター

名前 必要 受け入れられる型 説明
tabSwitcherMode オプション "mru", "inOrder", "disabled" "tabSwitcherMode" を使って前のタブに移動します。 モードが指定されていない場合は、グローバルに定義されたモードを使用します。

タブ検索ボックスを開きます。

コマンド名:tabSearch

既定のバインド:

このコマンドは、現在、既定の設定ではバインドされません

{"command": "tabSearch", "keys": ""}

Windows ターミナルのタブ検索

特定のタブを開く

インデックスに応じて特定のタブが開きます。

コマンド名:switchToTab

既定のバインド:

{ "command": { "action": "switchToTab", "index": 0 }, "keys": "ctrl+alt+1" },
{ "command": { "action": "switchToTab", "index": 1 }, "keys": "ctrl+alt+2" },
{ "command": { "action": "switchToTab", "index": 2 }, "keys": "ctrl+alt+3" },
{ "command": { "action": "switchToTab", "index": 3 }, "keys": "ctrl+alt+4" },
{ "command": { "action": "switchToTab", "index": 4 }, "keys": "ctrl+alt+5" },
{ "command": { "action": "switchToTab", "index": 5 }, "keys": "ctrl+alt+6" },
{ "command": { "action": "switchToTab", "index": 6 }, "keys": "ctrl+alt+7" },
{ "command": { "action": "switchToTab", "index": 7 }, "keys": "ctrl+alt+8" },
{ "command": { "action": "switchToTab", "index": 8 }, "keys": "ctrl+alt+9" }

パラメーター

名前 必要 受け入れられる型 説明
index 必須 整数 タブ バー内の位置 (0 から開始) に基づいて開かれるタブ。

タブの名前を変更する

このコマンドを使用すると、タブの名前を特定の文字列に変更できます。

コマンド名:renameTab

既定のバインド:

このコマンドは、現在、既定の設定ではバインドされません

// Rename a tab to "Foo"
{ "command": { "action": "renameTab", "title": "Foo" }, "keys": "" }

// Reset the tab's name
{ "command": { "action": "renameTab", "title": null }, "keys": "" }

パラメーター

名前 必要 受け入れられる型 説明
title オプション String このタブに使用する新しいタイトル。省略した場合、このコマンドはタブ タイトルを元の値に戻します。

タブの名前変更のテキスト ボックスを開く

このコマンドを実行すると、タブ タイトルがテキスト フィールドに変わり、現在のタブのタイトルを編集できます。テキスト フィールドをクリアすると、タブ タイトルが現在のシェル インスタンスの既定値にリセットされます。

コマンド名:openTabRenamer

既定のバインド:

{ "command": "openTabRenamer" }

タブの色を変更する

このコマンドを使用すると、タブの色を特定の値に変更できます。

コマンド名:setTabColor

既定のバインド:

このコマンドは、現在、既定の設定ではバインドされません

// Change the tab's color to a bright magenta
{ "command": { "action": "setTabColor", "color": "#ff00ff" }, "keys": "" }

// Reset the tab's color
{ "command": { "action": "setTabColor", "color": null }, "keys": "" }

パラメーター

名前 必要 受け入れられる型 説明
color 省略可能 16 進形式の文字列: "#rgb" または "#rrggbb" このタブに使用する新しい色。省略した場合、このコマンドはタブの色を元の値に戻します。

タブのカラー ピッカーを開く

このコマンドは、アクティブなタブのカラー ピッカーを開くために使用できます。カラー ピッカーを使用すると、タブの色を実行時に設定できます。

コマンド名:openTabColorPicker

既定のバインド:

{ "command": "openTabColorPicker" }

タブを移動する

このコマンドは、タブを "後方" と "前方" に移動します。これは、左から右の UI の "left" と "right" に相当します。

コマンド名:moveTab

既定のバインド:

// Move tab backward (left in LTR)
{ "command": { "action": "moveTab", "direction": "backward" } }

// Move tab forward (right in LTR)
{ "command": { "action": "moveTab", "direction": "forward" } }

パラメーター

名前 必要 受け入れられる型 説明
direction 必須 "backward", "forward" タブを移動する方向。


ウィンドウ管理コマンド

新しいウィンドウ

新しいウィンドウを作成します。 引数の指定がない場合は、既定のプロファイルが新しいウィンドウで開きます (windowingBehavior の設定に関係なく)。 アクションが指定されていない場合は、既定のプロファイルの同等の設定が使用されます。

コマンド名:newWindow

既定のバインド:

{ "command": "newWindow", "keys": "ctrl+shift+n" },

パラメーター

名前 必要 受け入れられる型 説明
commandline オプション 実行可能ファイル名を表す文字列 実行可能ファイルがタブ内で実行されます。
startingDirectory オプション フォルダーの場所を表す文字列 ウィンドウが開かれるディレクトリ。
tabTitle 省略可能 String ウィンドウ タブのタイトル。
index 省略可能 整数 ドロップダウンでの位置 (0 から開始) に基づいて開かれるプロファイル。
profile オプション プロファイルの名前または GUID を表す文字列 GUID または名前に基づいて開かれるプロファイル。
suppressApplicationTitle オプション true, false false に設定された場合、アプリケーションはタイトル変更メッセージを送信することでタブ タイトルを変更できます。 true に設定された場合、これらのメッセージは抑制されます。 指定されなかった場合、動作はプロファイル設定から継承されます。

ウィンドウの名前変更

このコマンドを使用すると、ウィンドウの名前を特定の文字列に変更できます。

コマンド名:renameWindow

既定のバインド:

このコマンドは、現在、既定の設定ではバインドされません

// Rename a window to "Foo"
{ "command": { "action": "renameWindow", "name": "Foo" }, "keys": "" }

// Reset the window's name
{ "command": { "action": "renameWindow", "name": null }, "keys": "" }

パラメーター

名前 必要 受け入れられる型 説明
name オプション String このウィンドウに使用する新しい名前。 省略した場合、このコマンドはウィンドウ名を元の値に戻します。

ウィンドウの名前変更ダイアログを開く

このコマンドを実行すると、現在のウィンドウの名前を編集できるポップアップ ウィンドウが表示されます。 テキスト フィールドをクリアすると、ウィンドウ名がリセットされます。

コマンド名:openWindowRenamer

既定のバインド:

{ "command": "openWindowRenamer" }

ウィンドウを識別する

これを実行すると、フォーカスがあるウィンドウにオーバーレイが表示され、ウィンドウの名前とインデックスが表示されます。

コマンド名:identifyWindow

既定のバインド:

{"command": "identifyWindow", "keys": "" },

複数のウィンドウを識別する

これを実行すると、すべてのウィンドウにオーバーレイが表示され、各ウィンドウの名前とインデックスが表示されます。

コマンド名:identifyWindows

既定のバインド:

このコマンドは、現在、既定の設定ではバインドされません

{"command": "identifyWindows" },


ペイン管理コマンド

ペインを閉じる

アクティブなペインを閉じます。 分割ペインがない場合は、現在のタブが閉じられます。開いているタブが 1 つだけの場合は、ウィンドウが閉じられます。

コマンド名:closePane

既定のバインド:

{ "command": "closePane", "keys": "ctrl+shift+w" }

ペイン フォーカスの移動

方向に応じて、別のペインにフォーカスが移動します。 direction"previous" に設定した場合、直近に使用したペインにフォーカスが移動します。

コマンド名:moveFocus

既定のバインド:

{ "command": { "action": "moveFocus", "direction": "down" }, "keys": "alt+down" },
{ "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": "previous" }, "keys": "ctrl+alt+left" }

パラメーター

名前 必要 受け入れられる型 説明
direction 必須 "left", "right", "up", "down", "previous" フォーカスを移動する方向。

ペインをズームする

フォーカスされたペインをズームして、内容をペイン全体に表示することができます。

コマンド名:togglePaneZoom

既定のバインド:

{ "command": "togglePaneZoom" }

Windows ターミナルでのペインのズーム

ペインのサイズを変更する

アクティブなペインのサイズが変更されます。

コマンド名:resizePane

既定のバインド:

{ "command": { "action": "resizePane", "direction": "down" }, "keys": "alt+shift+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" }

パラメーター

名前 必要 受け入れられる型 説明
direction 必須 "left", "right", "up", "down" ペインのサイズを変更する方向。

ペインを読み取り専用としてマークする

ペインを読み取り専用としてマークできます。これにより、入力がテキスト バッファーに送信されるのを防ぐことができます。 読み取り専用ペインを閉じたり、テキストを入力したりしようとすると、代わりにポップアップ警告がターミナルに表示されます。

コマンド名:toggleReadOnlyMode

既定のバインド:

{ "command": "toggleReadOnlyMode" }

ペインの分割

アクティブなペインのサイズが半分になり、別のペインが開きます。 引数を指定しないと、既定のプロファイルが新しいペインで開かれます。 アクションが指定されていない場合は、既定のプロファイルの同等の設定が使用されます。

コマンド名:splitPane

既定のバインド:

// In settings.json
{ "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" },

// In defaults.json
{ "command": { "action": "splitPane", "split": "horizontal" }, "keys": "alt+shift+-" },
{ "command": { "action": "splitPane", "split": "vertical" }, "keys": "alt+shift+plus" },
{ "command": { "action": "splitPane", "split": "up" } },
{ "command": { "action": "splitPane", "split": "right" } },
{ "command": { "action": "splitPane", "split": "down" } },
{ "command": { "action": "splitPane", "split": "left" } }

パラメーター

名前 必要 受け入れられる型 説明
split 必須 "vertical", "horizontal", "auto", "up", "right", "down", "left" ペインの分割方法。 "auto" は、最も多くの領域を提供する方向に分割します。
commandline オプション 実行可能ファイル名を表す文字列 実行可能ファイルがペイン内で実行されます。
startingDirectory オプション フォルダーの場所を表す文字列 ペインが開かれるディレクトリ。
elevate オプション true, false, null プロファイルの elevate プロパティをオーバーライドします。 省略した場合、このアクションはプロファイルの elevate 設定に従って動作します。 true または false に設定した場合、このアクションの動作は、プロファイルが (それぞれ) "elevate": true または "elevate": false で設定されたかのようになります。
tabTitle 省略可能 String 新しいペインにフォーカスがあるときのタブのタイトル。
index オプション 整数 ドロップダウンでの位置 (0 から開始) に基づいて開かれるプロファイル。
profile オプション プロファイルの名前または GUID を表す文字列 GUID または名前に基づいて開かれるプロファイル。
colorScheme オプション 配色の名前を表す文字列 プロファイルの set colorScheme の代わりに使用するスキーム
suppressApplicationTitle オプション true, false false に設定された場合、アプリケーションはタイトル変更メッセージを送信することでタブ タイトルを変更できます。 true に設定された場合、これらのメッセージは抑制されます。 指定されなかった場合、動作はプロファイルの設定から継承されます。
splitMode オプション "duplicate" ペインの分割方法を制御します。 フォーカスがあるペインのプロファイルを新しいペインに複製する、"duplicate" のみを受け入れます。
size 省略可能 Float 新しいペインの大きさを、現在のペインのサイズに対する割合で指定します。 1.0 は "現在のペインの全体" を意味し、0.0 は "親のどの部分も含まない" を意味します。 既定値は 0.5 です。


クリップボードの統合コマンド

コピー

選択したターミナル コンテンツがクリップボードにコピーされます。 何も選択されなかった場合は、キー コードが端末に直接送信されます。

コマンド名:copy

既定のバインド:

// In settings.json
{ "command": { "action": "copy", "singleLine": false }, "keys": "ctrl+c" },

// In defaults.json
{ "command": { "action": "copy", "singleLine": false }, "keys": "ctrl+shift+c" },
{ "command": { "action": "copy", "singleLine": false }, "keys": "ctrl+insert" },
{ "command": { "action": "copy", "singleLine": false }, "keys": "enter" }

パラメーター

名前 必要 受け入れられる型 説明
singleLine オプション true, false true の場合、コピーされたコンテンツは単一行としてコピーされます。 false の場合、選択したテキストから改行が保持されます。
copyFormatting 省略可能 true, false, "all", "none", "html", "rtf" true に設定された場合は、選択したテキストの色とフォントの書式もクリップボードにコピーされます。 false に設定された場合は、プレーンテキストのみがクリップボードにコピーされます。 また、コピーする形式を指定することもできます。 null の場合は、グローバルの "copyFormatting" 動作が継承されます。

貼り付け

クリップボードにコピーされたコンテンツが挿入されます。

コマンド名:paste

既定のバインド:

// In settings.json
{ "command": "paste", "keys": "ctrl+v" },

// In defaults.json
{ "command": "paste", "keys": "ctrl+shift+v" },
{ "command": "paste", "keys": "shift+insert" }

選択範囲を単語まで広げる (プレビュー)

選択範囲が存在する場合は、選択範囲が展開され、部分的に選択された単語が完全に含まれます。

コマンド名:expandSelectionToWord

既定のバインド:

{ "command": "expandSelectionToWord" }

すべて選択する

これにより、テキスト バッファー内のすべてのコンテンツが選択されます。

コマンド名:selectAll

既定のバインド:

{ "command": "selectAll", "keys": "ctrl+shift+a" }

マーク モード (プレビュー)

これを使ってマーク モードを切り替えることができます。 マーク モードとは、キーボードを使ってターミナルのカーソル位置に選択範囲を作成するモードです。

コマンド名:markMode

既定のバインド:

{ "command": "markMode", "keys": "ctrl+shift+m" },

重要

この機能は、Windows ターミナル プレビューでのみ使用できます。

選択マーカーの切り替え (プレビュー)

キーボードを使って選択範囲を変更する場合、選択範囲の一端を動かします。 このアクションを使うと、他の選択マーカーに切り替えることができます。

コマンド名:switchSelectionEndpoint

既定のバインド:

{ "command": "switchSelectionEndpoint" },

重要

この機能は、Windows ターミナル プレビューでのみ使用できます。

ブロック選択の切り替え (プレビュー)

既存の選択範囲をブロック選択にします。つまり、選択領域は、各行の先頭と末尾まで含むのではなく、四角形です。

コマンド名:toggleBlockSelection

既定のバインド:

{ "command": "toggleBlockSelection" },

重要

この機能は、Windows ターミナル プレビューでのみ使用できます。



Scrollback コマンド

上にスクロール

"rowsToScroll" によって定義された行数だけ画面を上にスクロールします。 "rowsToScroll" が指定されなかった場合は、システムの既定値で定義されている量 (マウス スクロールと同じ量) だけ上にスクロールします。

コマンド名:scrollUp

既定のバインド:

{ "command": "scrollUp", "keys": "ctrl+shift+up" }

パラメーター

名前 必要 受け入れられる型 説明
rowsToScroll オプション Integer スクロールする行数。

下にスクロール

"rowsToScroll" によって定義された行数だけ画面を下にスクロールします。 "rowsToScroll" が指定されなかった場合は、システムの既定値で定義されている量 (マウス スクロールと同じ量) だけ下にスクロールします。

コマンド名:scrollDown

既定のバインド:

{ "command": "scrollDown", "keys": "ctrl+shift+down" }

パラメーター

名前 必要 受け入れられる型 説明
rowsToScroll オプション Integer スクロールする行数。

ページ全体を上にスクロール

ページ全体 (ウィンドウの高さ) で画面を上にスクロールします。

コマンド名:scrollUpPage

既定のバインド:

{ "command": "scrollUpPage", "keys": "ctrl+shift+pgup" }

ページ全体を下にスクロール

ページ全体 (ウィンドウの高さ) で画面を下にスクロールします。

コマンド名:scrollDownPage

既定のバインド:

{ "command": "scrollDownPage", "keys": "ctrl+shift+pgdn" }

最も古い履歴までスクロールする

画面を入力バッファーの一番上までスクロールします。

コマンド名:scrollToTop

既定のバインド:

{ "command": "scrollToTop", "keys": "ctrl+shift+home" }

最新の履歴までスクロールする

画面を入力バッファーの一番下までスクロールします。

コマンド名:scrollToBottom

既定のバインド:

{ "command": "scrollToBottom", "keys": "ctrl+shift+end" }

バッファーのクリア

このアクションを使用すると、ターミナル バッファーを手動でクリアできます。 これは、コマンドライン シェルのプロンプトが表示されず、Clear-Host/cls/clear を簡単に実行できない場合に便利です。

コマンド名:clearBuffer

既定のバインド:

{ "command": { "action": "clearBuffer", "clear": "all" } }

パラメーター

名前 必要 受け入れられる型 説明
clear オプション "screen", "scrollback", "all" クリアする画面の部分。
  • "screen": ターミナル ビューポートの内容をクリアします。 スクロールバックはそのまま残されます。 カーソル行をビューポートの一番上に移動します (未変更)。
  • "scrollback": スクロールバックをクリアします。 ビューポートをそのまま残します。
  • "all" ("既定"): スクロールバックと表示されているビューポートをクリアします。 カーソル行をビューポートの一番上に移動します。

ビジュアル調整コマンド

フォント サイズの調整

指定したポイントの大きさによってテキストのサイズが変更されます。

コマンド名:adjustFontSize

既定のバインド:

{ "command": { "action": "adjustFontSize", "delta": 1 }, "keys": "ctrl+=" },
{ "command": { "action": "adjustFontSize", "delta": -1 }, "keys": "ctrl+-" },
{ "command": { "action": "adjustFontSize", "delta": 1 }, "keys": "ctrl+numpad_plus" },
{ "command": { "action": "adjustFontSize", "delta": -1 }, "keys": "ctrl+numpad_minus" }

パラメーター

名前 必要 受け入れられる型 説明
delta 必須 整数 コマンド呼び出しごとのサイズ変更の量。

フォント サイズのリセット

テキスト サイズが既定値にリセットされます。

コマンド名:resetFontSize

既定のバインド:

{ "command": "resetFontSize", "keys": "ctrl+0" },
{ "command": "resetFontSize", "keys": "ctrl+numpad_0" }

不透明度を調整する

これにより、ウィンドウの不透明度が変更されます。 relative が true に設定されていると、現在の不透明度に対して相対的に不透明度が調整されます。 それ以外の場合は、指定された opacity に直接不透明度が設定されます。

コマンド名:adjustOpacity

既定のバインド:

{ "command": { "action": "adjustOpacity", "relative": false, "opacity": 0 } },
{ "command": { "action": "adjustOpacity", "relative": false, "opacity": 25 } },
{ "command": { "action": "adjustOpacity", "relative": false, "opacity": 50 } },
{ "command": { "action": "adjustOpacity", "relative": false, "opacity": 100 } }

パラメーター

名前 必要 受け入れられる型 説明
opacity オプション Integer relative の値に応じて、ターミナルをどの程度不透明にするか、またはどのくらい不透明度を変更する必要があるかを指定します。
relative 省略可能 Boolean true の場合、指定された opacity パラメーターによって現在の不透明度が調整されます。 false の場合、正確にその値に不透明度が設定されます。

ピクセル シェーダー効果を切り替える

ターミナルで有効になっているすべてのピクセル シェーダー効果を切り替えます。 ユーザーが experimental.pixelShaderPath で有効なシェーダーを指定した場合、このアクションによってシェーダーのオン/オフが切り替わります。 また、"レトロ ターミナル効果" (プロファイル設定 experimental.retroTerminalEffect で有効になります) も切り替わります。

コマンド名:toggleShaderEffects

既定のバインド:

{ "command": "toggleShaderEffects" }

注意事項

toggleRetroEffect アクションは、バージョン 1.6 以降では使用できなくなりました。 代わりに、toggleShaderEffects を使用することをお勧めします。

配色を設定する

アクティブな配色を変更します。

コマンド名:setColorScheme

パラメーター

名前 必要 受け入れられる型 説明
colorScheme 必須 String 適用する配色の name

バインドの例:

{ "command": { "action": "setColorScheme", "colorScheme": "Campbell" }, "keys": "" }

試験的なスクロール マークの追加 (プレビュー)

テキスト バッファーにスクロール マークを追加します。 選択範囲がある場合、選択範囲にマークが配置され、そうでない場合は、カーソル行に配置されます。 これは試験的な機能であり、存続は保証されていません。

コマンド名:addMark

パラメーター

名前 必要 受け入れられる型 説明
color 省略可能 16 進形式の文字列: "#rgb" または "#rrggbb" マークの色。

バインドの例:

{ "command": { "action": "addMark", "color": "#ff00ff" } }

重要

この機能は、Windows ターミナル プレビューでのみ使用できます。

試験的なマークまでのスクロール (プレビュー)

指定した方向のスクロール マークまでスクロールします。 これは試験的な機能であり、存続は保証されていません。

コマンド名:scrollToMark

パラメーター

名前 必要 受け入れられる型 説明
direction 必須 "first", "previous", "next", "last" スクロールする方向。

バインドの例:

{ "command": { "action": "scrollToMark", "direction": "previous" } }

重要

この機能は、Windows ターミナル プレビューでのみ使用できます。

試験的なマークのクリア (プレビュー)

現在の位置 (選択範囲がある場合はその位置、そうでない場合はカーソル位置) にあるスクロール マークをクリアします。 これは試験的な機能であり、存続は保証されていません。

コマンド名:clearMark

バインドの例:

{ "command": { "action": "clearMark" } }

重要

この機能は、Windows ターミナル プレビューでのみ使用できます。

試験的な全マークのクリア (プレビュー)

テキスト バッファー内のすべてのスクロール マークをクリアします。 これは試験的な機能であり、存続は保証されていません。

コマンド名:clearAllMarks

バインドの例:

{ "command": { "action": "clearAllMarks" } }

重要

この機能は、Windows ターミナル プレビューでのみ使用できます。



バッファーのエクスポート

バッファーをエクスポートする

これにより、ユーザーはバッファーのテキストをファイルにエクスポートできます。 ファイルが存在しない場合は、作成されます。 ファイルが既に存在する場合、その内容はターミナル バッファー テキストに置き換えられます。

コマンド名:exportBuffer

既定のバインド:

{ "command": { "action": "exportBuffer" } }

パラメーター

名前 必要 受け入れられる型 説明
path オプション String 指定した場合、ターミナルによりバッファーの内容が指定されたファイルにエクスポートされます。 それ以外の場合、エクスポート先のファイルを選択するファイル ピッカーが開きます。

グローバル コマンド

グローバル呼び出し

これは、ターミナル ウィンドウのコンテキスト内だけで動作するのではなく、OS 内でグローバルに動作する特殊なアクションです。 これが押されると、ターミナル ウィンドウが呼び出されます。 どのウィンドウが呼び出されるか、ウィンドウがどこに呼び出されるか、および呼び出し時にウィンドウがどのように動作するかは、このアクションのプロパティによって制御されます。

ノート

  • ターミナル内の globalSummon アクションにバインドされているキーは、ターミナルが実行されている間は他のアプリケーションでは動作しません。常にターミナル ウィンドウにフォーカスします。

  • 指定された keys に対して、実行中のアプリケーションが RegisterHotKey API を使用して既に登録されている場合は、ターミナルでこれらのキー ストロークをリッスンすることはできません。

  • ターミナルの管理者特権インスタンスと非特権インスタンスの両方で同じキーを登録することはできません。 このことは、プレビュー バージョンと安定バージョンの両方のターミナルに当てはまります (最初に起動されるものが常に優先されます)。

  • これらのキー ストロークは、ターミナルのインスタンスが既に実行されている場合にのみ機能します。 ログイン時にターミナルを自動的に起動するには、「startOnUserLogin」を参照してください。

コマンド名:globalSummon

既定のバインド:

このコマンドは、現在、既定の設定ではバインドされません

{ "keys": "", "command": { "action": "globalSummon" } }

パラメーター

名前 必要 受け入れられる型 説明
desktop オプション any, toCurrent, onCurrent ターミナルが仮想デスクトップと対話する方法を制御します。
  • "any": ウィンドウを、それが既に置かれているデスクトップに維持します (ウィンドウがアクティブになると、そのデスクトップに切り替わります)。
  • "toCurrent" (既定): ウィンドウを現在の仮想デスクトップに移動します。
  • "onCurrent": ウィンドウが現在の仮想デスクトップ上に既に存在する場合にのみ、そのウィンドウを呼び出します。
monitor オプション any, toCurrent, toMouse ウィンドウの呼び出し元/呼び出し先のモニターを制御します。
  • "any": 現在どのモニター上にあるかに関係なく、直近に使用したウィンドウを呼び出します。
  • "toCurrent": 直近に使用したウィンドウを、現在の前景ウィンドウがあるモニターに呼び出します。
  • "toMouse" (既定): 直近に使用したウィンドウを、マウス カーソルが置かれているモニターに呼び出します。
name オプション String 省略された場合は (既定)、monitor および desktop を使用して、直近に使用された適切なウィンドウが検索されます。 指定された場合は、指定された name 値と一致する名前または ID を持つウィンドウが呼び出されます。 そのようなウィンドウが存在しない場合は、その名前で新しいウィンドウが作成されます。
dropdownDuration 省略可能 Integer 既定値は 0 です。 正の数値が指定された場合は、dropdownDuration ミリ秒間継続するアニメーションを使用して、ウィンドウが画面上部から "スライド" されます。 この設定に対する妥当な値は 200 です。
toggleVisibility オプション true, false 既定値は true です。 true の場合、このアクションに割り当てられたキーを押すと、ウィンドウが現在前景ウィンドウになっている場合に、ウィンドウが非表示になります (最小化されます)。 false の場合は、割り当てられたキーを押しても、ウィンドウが手前に表示されるだけです。

namemonitor または desktop と "共に" 指定されている場合、name は次のように動作します。

  • desktop
    • "any": 指定されたウィンドウが既に置かれているデスクトップに移動します。
    • "toCurrent": ウィンドウが別の仮想デスクトップ上にある場合は、現在アクティブな仮想デスクトップに移動します。
    • "onCurrent": ウィンドウが別の仮想デスクトップ上にある場合は、現在アクティブな仮想デスクトップに移動します。
  • monitor
    • "any": ウィンドウは、それが既に置かれているモニターに維持されます。
    • "toCurrent": ウィンドウが別のモニター上にある場合は、現在の前景ウィンドウがあるモニターに移動されます。
    • "toMouse": ウィンドウが別のモニター上にある場合は、マウス カーソルがあるモニターに移動されます。

desktop プロパティと monitor プロパティは、次の組み合わせで使用することができます。

組み合わせ "desktop": "any" "desktop": "toCurrent" "desktop": "onCurrent" 対象外の情報
"monitor": "any" ウィンドウが置かれているデスクトップに移動します (位置のみを維持します) ウィンドウをこのデスクトップに移動します (位置のみを維持します) このデスクトップ上にない場合:
  • 既定の位置に新規作成します
その他の場合:
  • このデスクトップ上のものをアクティブにします (移動はしません)
MRU ウィンドウを呼び出します
"monitor": "toCurrent" ウィンドウが置かれているデスクトップに移動し、前景ウィンドウがあるモニターに移動します ウィンドウをこのデスクトップに移動し、前景ウィンドウがあるモニターに移動します このデスクトップ上にない場合:
  • 新規作成します
その他の場合:
  • このデスクトップ上のものをアクティブにし、前景ウィンドウがあるモニターに移動します
MRU ウィンドウを、前景ウィンドウがあるモニターに呼び出します
"monitor": "toMouse" ウィンドウが置かれているデスクトップに移動し、マウスがあるモニターに移動します ウィンドウをこのデスクトップに移動し、マウスがあるモニターに移動します このデスクトップ上にない場合:
  • 新規作成します
その他の場合:
  • このデスクトップ上のものをアクティブにし、マウスがあるモニターに移動します
MRU ウィンドウを、マウスがあるモニターに呼び出します
含まれない 現在の場所に維持します 現在のデスクトップに移動します 現在のデスクトップ上のみ N/A

使用例


// Summon the most recently used (MRU) window, to the current virtual desktop,
// to the monitor the mouse cursor is on, without an animation. If the window is
// already in the foreground, then minimize it.
{ "keys": "ctrl+1", "command": { "action": "globalSummon" } },

// Summon the MRU window, by going to the virtual desktop the window is
// currently on. Move the window to the monitor the mouse is on.
{ "keys": "ctrl+2", "command": { "action": "globalSummon", "desktop": "any" } },

// Summon the MRU window to the current desktop, leaving the position of the window untouched.
{ "keys": "ctrl+3", "command": { "action": "globalSummon", "monitor": "any" } },

// Summon the MRU window, by going to the virtual desktop the window is
// currently on, leaving the position of the window untouched.
{ "keys": "ctrl+4", "command": { "action": "globalSummon", "desktop": "any", "monitor": "any" } },

// Summon the MRU window with a dropdown duration of 200ms.
{ "keys": "ctrl+5", "command": { "action": "globalSummon", "dropdownDuration": 200 } },

// Summon the MRU window. If the window is already in the foreground, do nothing.
{ "keys": "ctrl+6", "command": { "action": "globalSummon", "toggleVisibility": false } },

// Summon the window named "_quake". If no window with that name exists, then create a new window.
{ "keys": "ctrl+7", "command": { "action": "globalSummon", "name": "_quake" } }

Quake モード ウィンドウを開く

このアクションは、globalSummon アクションの特別なバリエーションです。 これを実行すると、Quake ウィンドウが明示的に呼び出されます。 これは、次の globalSummon アクションの短縮形です。

{
"keys": "win+`",
"command": {
"action": "globalSummon",
"name": "_quake",
"dropdownDuration": 200,
"toggleVisibility": true,
"monitor": "toMouse",
"desktop": "toCurrent"
}
}

quakeMode アクションの動作を変更する場合は、必要な設定を行い、actions 内で新しい globalSummon エントリを作成することをお勧めします。

コマンド名:quakeMode

既定のバインド:

{ "keys": "win+`", "command": { "action": "quakeMode" } }

Windows ターミナルの Quake モード



複数のアクションを実行する

このアクションを使用すると、複数のシーケンシャルなアクションを 1 つのコマンドにバインドできます。

コマンド名:multipleActions

パラメーター

名前 必要 受け入れられる型 説明
actions 必須 アクションの配列 実行する action の一覧。

{ "name": "Create My Layout", "command": { 
    "action": "multipleActions",
    "actions": [
        // Create a new tab with 3 panes
        { "action": "newTab", "tabTitle": "Work", "colorScheme": "One Half Dark" },
        { "action": "splitPane", "split": "vertical", "profile": "Windows PowerShell", "tabTitle": "Work", "colorScheme": "Campbell Powershell", },
        { "action": "splitPane", "split": "horizontal", "profile": "Windows PowerShell", "tabTitle": "Work", "colorScheme": "Campbell Powershell", },

        // Create a second tab
        { "action": "newTab", "tabTitle": "Misc"},

        // Go back to the first tab and zoom the first pane
        { "action": "prevTab", "tabSwitcherMode": "disabled" },
        { "action": "moveFocus", "direction": "first"},
        "togglePaneZoom"
        ]
}}


キーのバインドを解除する (キー バインドを無効化する)

キー バインドを無効にしたり、関連付けられているキーを任意のコマンドから "バインド解除" したりすることができます。 これは、基になるターミナル アプリケーション (VIM など) を使用している場合に必要になることがあります。 バインド解除されたキーは、基になるターミナルに渡されます。

コマンド名:unbound

unbound の使用例:

たとえば、ショートカットキー Alt+Shift+-" と Alt+Shift+=" をバインド解除するには、settings.json ファイルactions セクションに次のコマンドを含めます。

{
    "actions": [
        { "command": "unbound", "keys": "alt+shift+-" },
        { "command": "unbound", "keys": "alt+shift+=" }
    ]
}

null を使用した例:

"command"null に設定することで、アクションに既定でバインドされているキー ストロークをバインド解除することもできます。 これによって、既定のアクションを実行する代わりに、キー ストロークをコマンド ライン アプリケーション設定に関連付けることもできます。

{
   "command" : null, "keys" : ["ctrl+v"]
},

ユースケース シナリオ:

Windows ターミナルでは、ショートカット キー バインド Ctrl+V キーが貼り付けコマンドとして使用されます。 WSL コマンド ラインを使用している場合は、Vim などの Linux アプリケーションを使用してファイルを編集したい場合もあるでしょう。 ただし、Vim では、矩形ビジュアル モードを使用するために Ctrl+v のキー バインドが使用されます。 settings.json ファイルで unbound の設定を調整し、キー バインドが Windows ターミナルのバインドではなく、Vim のコマンド ライン アプリに関連付けられるようにしない限り、Windows ターミナルの貼り付けコマンドが優先され、このキー バインドはブロックされます。