rksoftware

Visual Studio とか C# とかが好きです

コンソールアプリをデバッグ実行したときにコンソールが閉じない

ふと、最近コンソールアプリをデバッグ実行したときにコンソールが閉じていないことに気が付きました。
というか全然気にしてませんでした。

環境

Visual Studio (Windows) の .NET Core コンソールアプリ

.NET Framework のコンソールアプリでは閉じます。

閉じないとどうなるのか

特に何も起こりません。ウィンドウが一つずっといるだけです。アプリ切り替えの時に邪魔になることがあるかも? 程度です。
f:id:rksoftware:20200123204756j:plain

ちなみに Visual Studio for Mac の場合は昔からデバッグ時に開いたターミナルは閉じないスタイルでした。そしてデバッグするたびに新しいターミナルが立ち上がる...その結果、連続してデバッグするとこんな感じに。
f:id:rksoftware:20200123204915j:plain

なかなか存在感のあるターミナル群に育ちます。

残念ながら Windows ではそこまでの存在感がなく、一つのウィンドウが使われるので残念ながらウィンドウは増えません。安心ですね。

開くコンソール

.NET Framework と .NET Core のコンソールアプリで開くコンソールが違います。

.NET Framework の場合

見慣れた黒い画面です(コマンドプロンプト)。
f:id:rksoftware:20200123204841j:plain

.NET Core の場合

見慣れた黒い画面に非常に似ていますが少し違います(Microsoft Visual Studio デバッグ コンソール)。
f:id:rksoftware:20200123204756j:plain

デバッグ終了時にコンソールが閉じるようにする

前述のように邪魔にならないので開きっぱなしで良いと思いますが、.NET Framework のコマンドプロンプトの様にデバッグ終了時に閉じることもできます。
設定の方法は、コンソールに表示されています。
f:id:rksoftware:20200123204756j:plain

メニューの ツール > オプション > デバッグ > 全般 > デバッグの停止時に自動的にコンソールを閉じる のチェックを ON にします。

f:id:rksoftware:20200123205040j:plain

コマンドプロンプトになったのが意外でしたが、終了したら閉じるようになりました。

■ 結末

ずっとウィンドウが一つ上がっていても、それほど邪魔になる機会もないのでとりあえず設定は戻しておいてみます。