Может ли Visual Studio Debugger отображать строки без кавычек/unescaped?
Управляемый отладчик в Visual Studio (я использую 11.0) отображает строковые значения, содержащие двойные кавычки и обратную косую черту вроде этого:
"{\"Text\":\"C:\\\\Temp\"}"
Иногда я хотел бы отобразить экранированный текст, подобный приведенному выше, в его простой форме:
{"Text":"C:\\Temp"}
Мне известен текстовый визуализатор, доступный через увеличительное стекло рядом со значением, но это довольно громоздко при отладке некоторой процедуры манипуляции с текстом.
Есть ли способ изменить отображение строковых значений в отладчике?
Ответы
Ответ 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