コマンドプロンプト、PowerShellのコンソールを問わず。
Windowsのコンソール上で処理を実行中に、コンソールをクリックするとプロンプトが簡易編集モードとなり、実行している処理が停止してしまう。
これを知らずに、途中で処理を停止してしまう失敗話はWindowsではよく聞く話かと思います。
コマンドプロンプトやPowerShellで処理が停止するのを確認する方法としては ping -t localhost
といった実行を繰り返すコマンドを実行して、コンソール上をクリックすると確認できます。(クリックすると簡易編集モードになり処理が停止)
いままでWindowsのコンソールはそういう物だといった理解をしていたのですが。
最近、Windows Terminal
上で起動したcmd.exe
やPowerShell
はクリックや範囲選択をしても処理が停止しないことに気が付きました。
気づいた際のWindows Terminal
バージョンは下記の通りとなっており。
- Windows ターミナル (プレビュー)
- バージョン: 1.18.1462.0
ここらへんの動作について何か記載されていないかと、microsoft/terminal を検索した所、画面出力周りで下記が引っかかりました。
terminal output freezes on click #408
Feature Request: Pause output or scrolling on click (and make it a setting) #980
Feature Request: Preserve scroll position while not "at bottom" #3863
Add a spec for output snapping #2529
Implement preventing auto-scroll on new output #6062
doc/specs/#980 - SnapOnOutput.md
なんとなくWindows Terminal
では初期からコンソール処理中に画面をクリックしても現在のように処理が停止するといった事はなかったっぽい?
総評
Windows Terminalを使い始めてしばらくたちますが、いまさら気がつきました。