私が現在使用している Visual Studio は Visual Studio Community 2019 Version 16.1.3。
ある日ある時ある瞬間、私は[イミディエイトウィンドウ]の画面を消去したい(クリアしたい)衝動にかられた。
でも、[出力ウィンドウ]には[すべてクリア]ボタンがあるのに[イミディエイトウィンドウ]には該当するボタンが無いんだよねー。
だから、
そもそも[イミディエイトウィンドウ]をクリアすることができるの? できるならどうやってやるの? と疑問を持ったので調べた。
手動でクリアするには
結論を言うと、イミディエイトウィンドウで右クリックすれば[すべてクリア]が出てくるのでそれを選択すれば良い。
他にも下記のような方法があるようだが、前述のやり方が一番簡単な気がする。
- [イミディエイトウィンドウ]で全選択して Delete キーを押す
- [イミディエイトウィンドウ]に “>Edit.ClearAll” と入力して Enter を押す(大文字・小文字は区別されない)
- [イミディエイトウィンドウ]に “>CLS” と入力して Enter を押す(大文字・小文字は区別されない)
- キーボードのアプリケーションキー(メニューキー)を押してから L を押す
プログラムコードでクリアするには
プログラムコードから[イミディエイトウィンドウ]をクリアするには、まず [アセンブリ]>[拡張]から EnvDTE の参照を追加する。
上記ダイアログ内には EnvDTE という名前が2つあったり、似ている名前がたくさんあったりするけれど、今そのことを考えると面倒くさいので、私は見なかったことにすると決めた。
そして下記のコードを実行する。
Dim dte As EnvDTE.DTE = System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE") dte.Windows.Item("イミディエイト ウィンドウ").Activate 'Window.Caption のテキスト dte.ExecuteCommand("CLS") 'こういうやり方もできるというサンプル 'dte.ExecuteCommand("Edit.SelectAll") 'dte.ExecuteCommand("Edit.ClearAll") 'ウィンドウを明示的に閉じておく場合 'dte.Windows.Item("イミディエイト ウィンドウ").Close System.Runtime.InteropServices.Marshal.ReleaseComObject(dte)