トップ回答者
Vistaで「Debug.WriteLine」を実行すると出力ウィンドウに出力される

質問
回答
-
おおっ?
調べてみたら、VB2005でもExpress Editionの[オプション]ダイアログに[デバッグ]ノードはありませんでした。もちろん2008にもありません。
知らなかったなー。
Debug.Print/WriteLineの出力先初期値は、VB2005Expressでは[イミディエイト]ウィンドウ、VB2008Expressでは[出力]ウィンドウのようです。
---
変更する方法としては、少々面倒ですが「設定のインポートとエクスポート」を使う方法があります。
以下、手順。-
メニューから[ツール]-[設定のインポートとエクスポート]を選択し、「設定のインポートとエクスポートウィザード」ダイアログを表示させます。
-
[選択された環境設定をエクスポート]オプションボタンを選択し、[次へ]をクリックします。
-
[エクスポートする設定を指定してください]ツリーで、一度[すべての設定]のチェックを外してから[すべての設定]-[オプション]-[デバッグ]だけにチェックを付け、[次へ]をクリックします。
-
設定ファイルの名前、格納ディレクトリは任意で構いません。で、[完了]をクリックします。
-
4.で保存した設定ファイルをテキストエディタで開きます。
-
<UserSettings>-<Category name="Debugger"…>-<PropertyValue name="OutputToImmediate">の値を変更します。
Debug.Printの出力先を[イミディエイト]ウィンドウにする場合は1、[出力]ウィンドウにする場合は0です。 -
変更した設定ファイルを保存します。
-
再度VB2008Expressのメニューから[ツール]-[設定のインポートとエクスポート]を選択し、「設定のインポートとエクスポートウィザード」ダイアログを表示させます。
-
[選択された環境設定をインポート]オプションボタンを選択し、[次へ]をクリックします。
-
現在の設定の保存はしてもしなくても構いませんが、ここでは説明が長くなるので[いいえ、現在の設定を上書きして新しい設定をインポートします]を選択し、[次へ]をクリックします。
-
[インポートする設定コレクションを指定してください]ツリーから、[ユーザーの設定]-[(4.で保存した設定ファイル名)]を(見当たらない場合は[参照]をクリックして、7.で保存したファイルを)選択し、[次へ]をクリックします。
-
[インポートする設定を指定してください]ツリーで[すべての設定]-[オプション]-[デバッグ]にチェックされていることを確認(チェックされていない場合はチェック)し、[完了]をクリックします。
以上で、Debug.Print/WriteLineの出力先を[イミディエイト]/[出力]ウィンドウに切り替えられると思います。
余計な設定まで変更したくない場合は、6.の段階で「OutputToImmediate」以外の<PropertyValue>を全部削除してしまえばOKですよ。
-
-
わたしの環境はVistaでVB2005Expressで,SP1と更新プログラムはあてていませんが,イミディエイトウィンドウに出力されています。
VB.NETのときには出力ウィンドウをイミディエイトウィンドウにリダイレクトするというような設定があったように思うのですが,VB2005ExpressEditionには見当たりませんでした。
なお,次のコードをForm.Loadなどに追加すればイミディエイトウィンドウに出力できるようになりませんか?
お試しください。
Debug.Listeners.Add(New DefaultTraceListener)
すべての返信
-
わたしの環境はVistaでVB2005Expressで,SP1と更新プログラムはあてていませんが,イミディエイトウィンドウに出力されています。
VB.NETのときには出力ウィンドウをイミディエイトウィンドウにリダイレクトするというような設定があったように思うのですが,VB2005ExpressEditionには見当たりませんでした。
なお,次のコードをForm.Loadなどに追加すればイミディエイトウィンドウに出力できるようになりませんか?
お試しください。
Debug.Listeners.Add(New DefaultTraceListener)
-
YAS.sさん、回答ありがとうございます。
教えていただいたコードをフォームのLoadイベントで実行してみました。
すると、Debug.WriteLineメソッドの実行結果が、出力ウィンドウに二重に表示されるようになりました。
デバッグ目的の出力なので、出力ウィンドウに表示されるだけでもありがたいのですが、でも何だか気になります。
TraceListenerCollection というのは今回教えていただいてはじめて知りました。
このコレクションに「イミディエイトウィンドウ」を表すTraceListenerを追加すればよいということなのですね。
もう少し調べてみます。
-
2005 Pro ですが、
「オプション」「デバッグ」「全般」に
「出力ウィンドウの文字をすべてイミディエイト ウィンドウにリダイレクトする」チェックボックス
というのがあり、既定でチェック済みです。
http://msdn.microsoft.com/ja-jp/library/85yzd16c(VS.80).aspx
-
まどか さんからの引用 「オプション」「デバッグ」「全般」に
「出力ウィンドウの文字をすべてイミディエイト ウィンドウにリダイレクトする」チェックボックス
というのがあり、既定でチェック済みです。
http://msdn.microsoft.com/ja-jp/library/85yzd16c(VS.80).aspx
Expressではありませんか?
Visual Basic 2008 Expressで確認しましたが、デバッグのノードすらないようです。(すべての設定を表示にはしてあります)
どうやったら、変更できるかは分かりませんが。 -
おおっ?
調べてみたら、VB2005でもExpress Editionの[オプション]ダイアログに[デバッグ]ノードはありませんでした。もちろん2008にもありません。
知らなかったなー。
Debug.Print/WriteLineの出力先初期値は、VB2005Expressでは[イミディエイト]ウィンドウ、VB2008Expressでは[出力]ウィンドウのようです。
---
変更する方法としては、少々面倒ですが「設定のインポートとエクスポート」を使う方法があります。
以下、手順。-
メニューから[ツール]-[設定のインポートとエクスポート]を選択し、「設定のインポートとエクスポートウィザード」ダイアログを表示させます。
-
[選択された環境設定をエクスポート]オプションボタンを選択し、[次へ]をクリックします。
-
[エクスポートする設定を指定してください]ツリーで、一度[すべての設定]のチェックを外してから[すべての設定]-[オプション]-[デバッグ]だけにチェックを付け、[次へ]をクリックします。
-
設定ファイルの名前、格納ディレクトリは任意で構いません。で、[完了]をクリックします。
-
4.で保存した設定ファイルをテキストエディタで開きます。
-
<UserSettings>-<Category name="Debugger"…>-<PropertyValue name="OutputToImmediate">の値を変更します。
Debug.Printの出力先を[イミディエイト]ウィンドウにする場合は1、[出力]ウィンドウにする場合は0です。 -
変更した設定ファイルを保存します。
-
再度VB2008Expressのメニューから[ツール]-[設定のインポートとエクスポート]を選択し、「設定のインポートとエクスポートウィザード」ダイアログを表示させます。
-
[選択された環境設定をインポート]オプションボタンを選択し、[次へ]をクリックします。
-
現在の設定の保存はしてもしなくても構いませんが、ここでは説明が長くなるので[いいえ、現在の設定を上書きして新しい設定をインポートします]を選択し、[次へ]をクリックします。
-
[インポートする設定コレクションを指定してください]ツリーから、[ユーザーの設定]-[(4.で保存した設定ファイル名)]を(見当たらない場合は[参照]をクリックして、7.で保存したファイルを)選択し、[次へ]をクリックします。
-
[インポートする設定を指定してください]ツリーで[すべての設定]-[オプション]-[デバッグ]にチェックされていることを確認(チェックされていない場合はチェック)し、[完了]をクリックします。
以上で、Debug.Print/WriteLineの出力先を[イミディエイト]/[出力]ウィンドウに切り替えられると思います。
余計な設定まで変更したくない場合は、6.の段階で「OutputToImmediate」以外の<PropertyValue>を全部削除してしまえばOKですよ。
-