Подтвердить что ты не робот

Может ли Visual Studio Debugger отображать строки без кавычек/unescaped?

Управляемый отладчик в Visual Studio (я использую 11.0) отображает строковые значения, содержащие двойные кавычки и обратную косую черту вроде этого:

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

Иногда я хотел бы отобразить экранированный текст, подобный приведенному выше, в его простой форме:

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

Мне известен текстовый визуализатор, доступный через увеличительное стекло рядом со значением, но это довольно громоздко при отладке некоторой процедуры манипуляции с текстом.

Есть ли способ изменить отображение строковых значений в отладчике?

4b9b3361

Ответ 1

Я вижу два варианта, которые могут быть менее громоздкими, а затем каждый раз нажимать увеличительное стекло, в зависимости от ситуации:

  • Щелкните правой кнопкой мыши значение и нажмите "Добавить на часы", затем отредактируйте выражение, которое было добавлено для просмотра, и добавьте ,nq (спецификатор формата .) в конце. Например, "myJsonObject.JsonText, nq". С этого момента посмотрите на окно "Смотреть" (а не на подсказку), чтобы увидеть значения при прохождении кода.

  • Используя OzCode, щелкните правой кнопкой мыши выражение и выберите Добавить пользовательские выражения и добавьте пользовательское выражение с ,nq в конце. Например: [obj].JsonText,nq.

Полное раскрытие: OzCode - это коммерческое расширение VS, которое я являюсь соавтором, в настоящее время свободным во время бета-тестирования.

Ответ 2

Я только что нашел еще один способ сделать это в окне отладчика.

Вместо

?myStringVariable

использование

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

Это похоже на то, чтобы остановить двойное цитирование.

EDIT: Еще проще:

?myStringVariable,nq

Thats работает для меня в Visual Studio 2015