如何使Visual Studio的立即窗口给我简单的字符串输出?

时间:2017-01-03 21:57:24

标签: visual-studio debugging visual-studio-2013

如果我在Immediate中评估产生长而复杂字符串的内容,则调试器会对C字符串转义中的所有内容进行编码,因此我最终得到了一堆\n\t,等等我的文字,然后我必须手工修复。 (\n的情况尤其令人讨厌,因为大多数文本编辑都无法进行多行搜索和替换!)

有没有办法让调试器给我原始的,无声的多行字符串值?

3 个答案:

答案 0 :(得分:1)

我们可以在Watch窗口中使用Text Visualizer检查字符串值,它将显示没有任何\ n和\ t内容的字符串值。

请在代码中的字符串变量中添加断点并开始调试代码。当断点命中时,您可以右键单击该变量并选择“添加监视”然后按F11转到下一行代码。现在,您可以通过单击“Text Visualizer”图标从Watch窗口查看字符串值。它不会显示\ n和\ t。

enter image description here

答案 1 :(得分:0)

打印variableName,sb。 示例(立即窗口):

>"raw\nmultiline\tstring",sb
raw
multiline   string

文档:https://docs.microsoft.com/en-us/visualstudio/debugger/format-specifiers-in-cpp?view=vs-2019

答案 2 :(得分:0)

您可以使用C#交互式窗口(“视图”>“其他Windows”>“ C#交互式”)。

用法:

键入命令:

Console.Write("r1bqkb1r/pp3ppp/2p5/3pP3/P2Q1P2/2N1B3/1PP3PP/R4RK1 w - - 1 2\nr1bqkb1r/pp3ppp/2p5/3pP3/P2Q1P2/2N1B3/1PP3PP/R4RK1 w - - 1 2")

然后我会得到:

r1bqkb1r/pp3ppp/2p5/3pP3/P2Q1P2/2N1B3/1PP3PP/R4RK1 w - - 1 2
r1bqkb1r/pp3ppp/2p5/3pP3/P2Q1P2/2N1B3/1PP3PP/R4RK1 w - - 1 2

C#交互式窗口与项目无关,因此它将在所有语言(C#,C ++等)的所有项目中运行

这是演示图像:

CSharpInteractive.JPG