2012-09-06 10 views
10

Visual Studioでプロジェクトをビルドすると、出力ウィンドウにエラーと警告を含むビルドプロセスのステータスが出力されます。これらの行をダブルクリックすると、そのエラー/警告を含むファイルがエディタに表示されます。出力ウィンドウでソースに移動するにはダブルクリック

Debug.WriteLineなどの出力を使用してその機能を使用することは可能ですか?だから、私はそれがDebug.WriteLineコールの場所だったので、ライン45を、それをダブルクリックするとBufferClass.csに取られることが可能であろう時にデバッグウィンドウの出力例

Buffering: 13:03:20 to 13:03:21 

ため。

可能でしょうか.netライブラリ経由でも、Visual Studio Extension経由でもかまいませんか?

答えて

12

私はちょうど先に進んで、自分でこれに答えます。

このようなあなたのメッセージをフォーマットし、直接ソースファイルにジャンプできるようにするには:

string.Format("{0}({1})", filePath, lineNumber); 

そのように、Visual Studioは自動的にダブルクリックの機能を追加し、ソースに直接行くことができます。あなたは、Visual Studio 2012の新機能を、使用している場合

さらに、ここで説明するように:Caller Details、あなたはこのようなあなたのログインメソッドを実装できます。また

private void LogData(string message, 
        [CallerMemberName] string callerName = "", 
        [CallerLineNumber] int lineNumber = -1, 
        [CallerFilePath] string filePath = "") 
    { 
     Debug.WriteLine(message); 
     Debug.WriteLine(string.Format(" {0}({1})", filePath, lineNumber)); 
    } 

、追加「:エラー」または「:警告 "を表示すると、Visual Studioは赤または黄色に色付けされます。 これについてさらに説明する記事がある場合、私は本当に知りたいと思います。

+1

行番号の後ろにメッセージを追加するには、コロンを追加する必要があります。 –

+1

公式の記事:[カスタムビルドステップまたはビルドイベントの出力の書式設定]([{0}({1}):{2} "、filePath、lineNumber、msg) ](https://docs.microsoft.com/en-us/cpp/ide/formatting-the-output-of-a-custom-build-step-or-build-event) –

+1

ブログエントリ:[MSBuild/Visual Studio対応のエラーメッセージとメッセージフォーマット](https://blogs.msdn.microsoft.com/msbuild/2006/11/02/msbuild-visual-studio-aware-error-messages-and-message-formats/)(not前のリンクと同じように完全な/公式であるが、もう少し説明的である)。 –

4

さて、この質問(と答え)少し時代遅れのように見えるので、リフレッシュさせて頂いて:Visual Studioの2013年に

、以下の形式は、ファイル/行へのリンクを引き起こすように見えるだけです

C#:C/C++のため

{0}({1}): <message here> 

、この旋回与える:

をそのメッセージをエコー
#define STRINGX(x) #x 
#define STRING(x) STRINGX(x) 
#define MY_LOG(msg) __pragma(message(__FILE__"(" STRING(__LINE__) "): " msg)) 

最後の括弧の後にコロンを含めないか、ファイル名と行番号の間にスペースがある場合、はソースコードにリンクしません。

+0

まだVS2015(C++)、ありがとう! – javaLover