双击去源在输出窗口(Double click to go to source in Output W

2019-07-31 10:01发布

当您建立在Visual Studio中的一个项目,输出窗口输出生成过程,其中包括错误和警告的状态。 双击这些线路将打开包含在编辑器中的错误/警告的文件。

现在,是有可能得到该功能与输出的Debug.WriteLine,或类似的东西? 所以,当调试窗口输出,例如

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

我将能够双击它,采取BufferClass.cs 45行,因为这是的Debug.WriteLine调用的位置。

这是可能的,无论是通过.NET库,或通过一个Visual Studio扩展?

Answer 1:

我就先走,然后自己回答这个问题。

为了能够直接跳转到源文件,格式化你的信息是这样的:

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

这样,Visual Studio将自动添加双击功能,并直接带您到源。

此外,如果您使用的Visual Studio 2012的新功能,如下所述: 来电详细信息 ,你可以实现你的登录方法是这样的:

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的颜色是红色或黄色。 如果有此说明任何进一步的文章,我真的很想知道。



Answer 2:

那么,这个问题(和答案),似乎有点过时,所以让我刷新:

在Visual Studio 2013,下面的格式是出现以使联动,文件/行回荡该消息的只有一个:

C#:

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

对于C / C ++,给这一个旋转

#define STRINGX(x) #x
#define STRING(x) STRINGX(x)
#define MY_LOG(msg) __pragma(message(__FILE__"(" STRING(__LINE__) "): " msg))

如果不包括结束括号后的冒号,或有文件名和行号之间的空间,它不会链接到源代码。



文章来源: Double click to go to source in Output Window