Can the Visual Studio Debugger display strings unquoted/unescaped?

£可爱£侵袭症+ 提交于 2019-11-26 21:13:34

问题


The managed debugger in Visual Studio (I am using 11.0) displays string values containing double quotes and backslashes like this:

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

Occasionally I would like to display an escaped text like the above one in its plain form:

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

I am aware of the text visualizer which is accessible via the magnifying glass next to the value, but this is rather cumbersome during debugging some text manipulation routine.

Is there a way to change the display of string values in the debugger?


回答1:


I see two options that may be less cumbersome then clicking the magnifying glass each time, depending on the situation:

  1. Right click the value and hit 'Add To Watch', then edit the expression that was added to watch and add ,nq (the 'no quotes' format specifier) at the end. For example, "myJsonObject.JsonText,nq". From then on, look at the Watch window (rather than the data-tip) to see the values as you step through your code.

  2. Using OzCode, right click the expression and select Add Custom Expressions, and add a custom expression with ,nq at the end. For example: [obj].JsonText,nq.

Full disclosure: OzCode is a commercial VS extension that I am co-author of, currently free while in beta.




回答2:


I just found one more way of doing this in the debugger window.

Instead of

?myStringVariable

use

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

That seems to stop the double quoting.

EDIT: An even easier way:

?myStringVariable,nq

Thats working for me in Visual Studio 2015



来源:https://stackoverflow.com/questions/18759324/can-the-visual-studio-debugger-display-strings-unquoted-unescaped

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!