Visual studio 双击以转到输出窗口中的源
在Visual Studio中生成项目时,“输出”窗口输出生成过程的状态,其中包括错误和警告。双击这些行将在编辑器中打开包含该错误/警告的文件 现在,是否可以通过Debug.WriteLine或类似的输出获得该功能?例如,当调试窗口输出时Visual studio 双击以转到输出窗口中的源,visual-studio,output-window,Visual Studio,Output Window,在Visual Studio中生成项目时,“输出”窗口输出生成过程的状态,其中包括错误和警告。双击这些行将在编辑器中打开包含该错误/警告的文件 现在,是否可以通过Debug.WriteLine或类似的输出获得该功能?例如,当调试窗口输出时 Buffering: 13:03:20 to 13:03:21 我将能够双击它并被带到BufferClass.cs,第45行,因为那是Debug.WriteLine调用的位置 这是可能的,通过.net库还是通过Visual Studio扩展?我将自己回答这个
Buffering: 13:03:20 to 13:03:21
我将能够双击它并被带到BufferClass.cs,第45行,因为那是Debug.WriteLine调用的位置
这是可能的,通过.net库还是通过Visual Studio扩展?我将自己回答这个问题 要能够直接跳转到源文件,请按如下格式设置消息:
string.Format("{0}({1})", filePath, lineNumber);
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));
}
这样,VisualStudio将自动添加双击功能,并直接将您带到源代码
此外,如果您使用Visual Studio 2012中的新功能(如下所述),则可以实现如下日志方法:
string.Format("{0}({1})", filePath, lineNumber);
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));
}
此外,在末尾添加“:error”或“:warning”会使VisualStudio将其涂成红色或黄色。
如果有任何文章对此进行了进一步的描述,我真的很想知道。好吧,这个问题(和答案)似乎有点过时,所以让我更新一下:
在Visual Studio 2013中,以下格式是唯一导致链接到回显消息的文件/行的格式:
C#:
{0}({1}): <message here>
#define STRINGX(x) #x
#define STRING(x) STRINGX(x)
#define MY_LOG(msg) __pragma(message(__FILE__"(" STRING(__LINE__) "): " msg))
如果结尾括号后没有包含冒号,或者文件名和行号之间有空格,则它将不会链接到源代码。要在行号后添加消息(可能是这样),必须添加冒号。它看起来是这样的:
string.Format(“{0}({1}):{2}”,文件路径,行号,msg)代码>官方文章:博客条目:(不像上一个链接那样完整/正式,但更具描述性)。+1,但我无法在最后获得输出着色位,也找不到有关此特定功能的任何文档。(我尝试过各种各样的空格组合,但运气不好。)我找到了可以这样做的扩展,但只要能够添加“:error”使事情变得突出就好了。