Windows Server 2016 以降、コンソール ホスト (Windows コマンド プロンプト、Windows PowerShell プロンプトなど、すべての文字モード アプリケーションをサポートする基になるコード) は、さまざまな新機能を追加するためにいくつかの方法で更新されました。
新機能の制御
新しい機能は既定で有効になっていますが、各新機能のオンとオフを切り替えたり、プロパティ インターフェイス (主に [オプション ] タブ) またはこれらのレジストリ キー (すべてのキーは HKEY_CURRENT_USER\Console の下の DWORD 値) を使用して以前のコンソール ホストに戻したりすることができます。
| レジストリ キー | 説明 |
|---|---|
| ForceV2 | 1 は、すべての新しいコンソール機能を有効にします。0 を指定すると、すべての新機能が無効になります。 注: この値はショートカットに格納されず、このレジストリ キーにのみ格納されます。 |
| ライン選択 | 1 は、行の選択を有効にします。ブロック モードのみを使用する場合は 0 |
| 貼り付け時のフィルター | 1 で新しい貼り付け動作を有効にする |
| LineWrap | コンソール ウィンドウのサイズを変更すると、1 がテキストを折り返すように設定されています。 |
| Ctrlキーショートカットが無効化されました | 0 は、新しいキー ショートカットを有効にします。1 は無効にします |
| エクステンデッドエディットキー | 1 は、キーボード選択キーの完全なセットを有効にします。0 では無効になります |
| TrimLeadingZeros | 1ダブルクリックによって行われた選択範囲の先頭のゼロをトリミングします。0 は先頭のゼロを保持します |
| WindowsAlpha | 不透明度の値を 30% から 100%に設定します。 0x4Cから0xFFまたは76から255を使用して値を指定します。 |
| WordDelimiters(ワードデリミター) | Ctrl + Shift + ARROW キーを押しながら一度に単語全体のテキストを選択するときにスキップする文字を定義します (既定値はスペース文字です)。 区切り記号として扱うすべての文字を含むように、このREG_SZ値を設定します。 注: この値はショートカットに格納されず、このレジストリ キーにのみ格納されます。 |
これらの設定は、HKCU\Console の下のレジストリに各ウィンドウ タイトルごとに格納されます。 ショートカットによって開かれたコンソール ウィンドウには、これらの設定がショートカットに格納されています。ショートカットが別のコンピューターにコピーされた場合、設定は新しいコンピューターに移動します。 ショートカットの設定は、グローバル設定や既定値など、他のすべての設定をオーバーライドします。 ただし、[オプション] タブの [従来のコンソールを使用する] を使用して元の本体に戻すと、この設定はグローバルであり、コンピューターの再起動後も含め、その後もすべてのウィンドウに対して保持されます。
これらの設定を事前に構成またはスクリプト化するには、無人セットアップ ファイルまたは Windows PowerShell でレジストリを適切に構成します。
16 ビットの NTVDM アプリは、常に古いコンソール ホストに戻ります。
注
新しいコンソール設定で問題が発生し、ここに記載されている特定のオプションで解決できない場合は、ForceV2 を 0 に設定するか、[オプション] の [従来のコンソール コントロールを使用する] を使用して、いつでも元のコンソールに戻すことができます。
コンソールの動作
マウスで端をつかんでドラッグすることで、コンソール ウィンドウのサイズを変更できるようになりました。 スクロール バーは、ウィンドウのサイズを手動で設定する場合 ([プロパティ] の [レイアウト] タブを使用) またはバッファー内のテキストの最長行が現在のウィンドウ サイズよりも広い場合にのみ表示されます。
新しいコンソール ウィンドウでワード ラッピングがサポートされるようになりました。 ただし、コンソール API を使用してバッファー内のテキストを変更した場合、コンソールは最初に挿入されたテキストをそのまま残します。
コンソール ウィンドウを半透明にできるようになりました (最小透明度は 30%)。 透明度は、[プロパティ] メニューまたは次のキーボード コマンドで調整できます。
| これを行うには: | 次のキーの組み合わせを使用します。 |
|---|---|
| 透明性を高める | Ctrl + Shift + プラス (+) または Ctrl + Shift + マウス の上へスクロール |
| 透明度を下げる | Ctrl + Shift + マイナス (-) または Ctrl + Shift + マウスの下へスクロール |
| 全画面表示モードに切り替える | Alt + Enter |
[選択]
テキストと行を選択したり、テキストをマークしたり、バッファー履歴を使用したりするための新しいオプションが多数あります。 コンソールは、同じキーを使用している可能性があるアプリケーションとの競合を回避しようとします。
開発者向け
競合が発生した場合は、通常、SetConsoleMode() API を使用して、アプリケーションで行入力、処理された入力、エコー入力モードを使用する動作を制御できます。 処理された入力モードで実行する場合は、以下のショートカットが適用されますが、他のモードでは、アプリケーションで処理する必要があります。 ここに記載されていないキーの組み合わせは、以前のバージョンのコンソールと同様に機能します。 [ オプション] タブで、さまざまな設定との競合を解決することもできます。他のすべてが失敗した場合は、いつでも元のコンソールに戻すことができます。
クイック編集モード以外でクリックアンドドラッグ選択を使用できるようになりました。この選択では、単なる長方形ブロックではなく、メモ帳のように複数行にわたるテキストを選択できます。 コピー操作で改行を削除する必要がなくなりました。 クリックアンドドラッグの選択に加えて、次のキーの組み合わせを使用できます。
テキストの選択
| これを行うには: | 次のキーの組み合わせを使用します。 |
|---|---|
| カーソルを左の 1 文字に移動し、選択範囲を拡張します。 | Shift + ← |
| カーソルを右の 1 文字に移動し、選択範囲を拡張する | Shift + → |
| 挿入ポイントから行ごとにテキストを選択します | Shift + ↑ |
| テキスト選択を挿入ポイントから1行下に拡張します。 | Shift + ↓ |
| カーソルが現在編集中の行にある場合は、このコマンドを 1 回使用して、入力行の最後の文字まで選択範囲を拡張します。 もう一度使用して、選択範囲を右余白に拡張します。 | Shift + End |
| カーソルが現在編集中の行 にない 場合は、次のコマンドを使用して、カーソル位置から右余白までのすべてのテキストを選択します。 | Shift + End |
| 現在編集中の行のカーソルがある場合は、このコマンドを 1 回使用して、コマンド プロンプトの直後の文字に選択範囲を拡張します。 もう一度使用して、選択範囲を右余白に拡張します。 | Shift + Home |
| カーソルが現在編集中の行 にない 場合は、次のコマンドを使用して選択範囲を左余白に拡張します。 | Shift + Home |
| 選択範囲を 1 画面下に拡張する | Shift + PageDown |
| 選択範囲を 1 画面上に拡張する | Shift + PageUp |
| 選択範囲を 1 単語右に拡張します。 (WordDelimiters レジストリ キーを使用して単語の区切り記号を定義できます)。 | CTRL+SHIFT+右矢印 |
| 選択範囲を左に 1 ワード拡大する | Ctrl + Shift + Home |
| 選択範囲を画面バッファーの先頭まで拡張する | Ctrl + Shift + End |
| カーソルが現在の行にあり、行が空でない場合は、プロンプトの後にあるすべてのテキストを選択します | CTRL + A |
| カーソルが現在の行 にない 場合は、バッファー全体を選択します | CTRL + A |
テキストの編集
キーボード コマンドを使用して、コンソールでテキストをコピーして貼り付けることができます。 Ctrl + C が 2 つの関数を提供するようになりました。 それを使用する際にテキストが選択されていない場合、通常通り BREAK コマンドが送信されます。 テキストが選択されている場合、最初の使用はテキストをコピーし、選択範囲をクリアします。2 番目の使用は BREAK を送信します。 その他の編集コマンドを次に示します。
| これを行うには: | 次のキーの組み合わせを使用します。 |
|---|---|
| コマンド ラインにテキストを貼り付ける | Ctrl + V |
| 選択したテキストをクリップボードにコピーする | Ctrl + Ins |
| 選択したテキストをクリップボードにコピーします。BREAK を送信する | Ctrl + C |
| コマンド ラインにテキストを貼り付ける | Shift + Ins |
マーク モード
マーク モードにいつでも入る場合は、コンソール タイトル バー内の任意の場所を右クリックし、[ 編集] をポイントして、開いたメニューから [マーク ] を選択します。 Ctrl + M キーを押すこともできます。 マーク モードの場合は、Alt キーを使用して、行折り返しの選択範囲の開始を識別します。 ( 行折り返しの選択を有効に した場合、マーク モードではブロック内のテキストが選択されます)。マーク モードでは、Ctrl + Shift + ARROW キーを押すと、通常モードのように単語ではなく文字で選択されます。 [ テキストの編集 ] セクションの選択キーに加えて、これらの組み合わせはマーク モードで使用できます。
| これを行うには: | 次のキーの組み合わせを使用します。 |
|---|---|
| マーク モードに入り、ウィンドウ内でカーソルを移動する | Ctrl + M |
| 他のキーの組み合わせと組み合わせて、マーク モードで行の折り返し選択を開始する | Alt |
| 指定した方向にカーソルを移動する | 方向キー |
| 指定した方向に 1 ページずつカーソルを移動する | PAGEキー |
| バッファーの先頭にカーソルを移動する | Ctrl + ホーム |
| バッファーの末尾にカーソルを移動する | Ctrl + End |
移動履歴
| これを行うには: | 次のキーの組み合わせを使用します。 |
|---|---|
| 出力履歴で 1 行上に移動する | Ctrl + 上方向キー |
| 出力履歴で 1 行下に移動する | Ctrl + 下方向キー |
| ビューポートをバッファーの先頭 (コマンド ラインが空の場合) に移動するか、カーソルの左側にあるすべての文字を削除します (コマンド ラインが空でない場合) | Ctrl + ホーム |
| ビューポートをコマンド ラインに移動するか (コマンド ラインが空の場合)、カーソルの右側にあるすべての文字を削除します (コマンド ラインが空でない場合) | Ctrl + End |
その他のキーボード コマンド
| これを行うには: | 次のキーの組み合わせを使用します。 |
|---|---|
| [検索] ダイアログを開く | Ctrl + F |
| コンソール ウィンドウを閉じる | Alt + F4 |