19

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

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

有时我想以简单的形式显示一个像上面这样的转义文本:

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

我知道可以通过值旁边的放大镜访问文本可视化器,但这在调试某些文本操作例程期间相当麻烦。

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

4

2 回答 2

19

我看到两个选项可能比每次单击放大镜都更方便,具体取决于具体情况:

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

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

全面披露: OzCode 是一个商业 VS 扩展,我是我的合著者,目前在 beta 阶段免费。

于 2013-09-12T14:42:53.647 回答
8

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

代替

?myStringVariable

采用

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

这似乎停止了双引号。

编辑:更简单的方法:

?myStringVariable,nq

这在 Visual Studio 2015 中为我工作

于 2015-10-12T13:34:25.083 回答