Visual Studio Debugger可以显示未引用/未转义的字符串吗?
Visual Studio中的托管调试器(我使用的是11.0)显示包含双引号和反斜杠的字符串值,如下所示:
"{\"Text\":\"C:\\\\Temp\"}"
偶尔我想以简单的forms显示像上面那样的转义文本:
{"Text":"C:\\Temp"}
我知道文本可视化器可以通过值旁边的放大镜访问,但是在调试一些文本操作例程时这很麻烦。
有没有办法在调试器中更改字符串值的显示?
我看到两个选项可能不那么麻烦,然后每次点击放大镜,具体取决于具体情况:
-
右键单击该值并单击“添加到监视”,然后编辑添加到监视并添加的表达式,最后添加
,nq
(“无引号” 格式说明符 )。 例如,“myJsonObject.JsonText,nq”。 从那时起,查看Watch窗口(而不是数据提示),以便在单步执行代码时查看值。 -
使用OzCode ,右键单击表达式并选择Add Custom Expressions ,然后在末尾添加自定义表达式
,nq
。 例如:[obj].JsonText,nq
。
完全披露: OzCode是我合作的商业VS扩展,目前在测试版中免费。
我刚刚在调试器窗口中找到了另一种方法。
代替
?myStringVariable
使用
System.Diagnostics.Debug.print(myStringVariable, {"nq"})
这似乎阻止了双引号。
编辑:一种更简单的方法:
?myStringVariable,nq
这在Visual Studio 2015中为我工作