Visual Studio Debugger可以显示未引用/未转义的字符串吗?

时间:2013-09-12 08:34:24

标签: c# visual-studio debugging visual-studio-2012 debuggervisualizer

Visual Studio中的托管调试器(我使用的是11.0)显示包含双引号和反斜杠的字符串值,如下所示:

"{\"Text\":\"C:\\\\Temp\"}"

偶尔我想以简单的形式显示像上面那样的转义文本:

{"Text":"C:\\Temp"}

我知道可以通过值旁边的放大镜访问的文本可视化工具,但在调试某些文本操作例程时这很麻烦。

有没有办法在调试器中更改字符串值的显示?

2 个答案:

答案 0 :(得分:16)

我看到两个选项可能不那么麻烦,然后每次点击放大镜,具体取决于具体情况:

  1. 右键点击该值并点击“添加到观看”,然后编辑添加到观看的表达式,并在结尾处添加,nq(“无引号”format specifier)。例如,“myJsonObject.JsonText,nq”。从那时起,查看Watch窗口(而不是数据提示),以便在单步执行代码时查看值。

  2. 使用OzCode,右键单击表达式并选择Add Custom Expressions,然后在末尾添加,nq的自定义表达式。例如:[obj].JsonText,nq

  3. 完全披露: OzCode是我合作的商业VS扩展程序,目前在测试阶段免费。

答案 1 :(得分:6)

我刚刚在调试器窗口中找到了另一种方法。

而不是

?myStringVariable

使用

System.Diagnostics.Debug.print(myStringVariable, {"nq"})

这似乎阻止了双引号。

编辑:更简单的方法:

?myStringVariable,nq

这在Visual Studio 2015中为我工作