Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can the Visual Studio Debugger display strings unquoted/unescaped?

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?

like image 929
CodeFox Avatar asked Sep 12 '13 08:09

CodeFox


2 Answers

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.

like image 125
Omer Raviv Avatar answered Oct 22 '22 16:10

Omer Raviv


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

like image 20
user2728841 Avatar answered Oct 22 '22 18:10

user2728841