Nowe linie w bezpośrednim oknie

Używając Visual Studio 2010 Professional, mam metodę ToString(), która wygląda tak:

public override string ToString()
{
    return "something" + "\n" + "something";
}

Ponieważ istnieje kilka"something " 'i każdy jest długi, chciałbym zobaczyć

something
something

Niestety widzę

"something\nsomething"

Czy jest sposób, aby dostać to, czego chcę?

Author: JaredPar, 2010-05-19

2 answers

Właściwie jest sposób. Możesz użyć określeń formatu w oknie natychmiastowym, aby zmienić format wyświetlania. Jeśli masz ciąg znaków ze zwrotami karetki i linijkami ("\R \ n"), możesz wykonać żądanie drukowania ze specyfikacją formatu 'no quotes'.

W oknie bezpośrednim wpisz:

?MyObj.ToString(),nq

I \r\n spowoduje wyświetlenie nowych linii w najbliższym oknie.

Aby uzyskać więcej informacji o specyfikacjach formatów Zobacz też: http://msdn.microsoft.com/en-us/library/e514eeby.aspx

 101
Author: davesem,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-25 14:50:16

Niestety nie ma. To, co się tutaj dzieje, to artefakt konstrukcji interfejsów API debuggera.

Komponentem odpowiedzialnym za przetwarzanie wywołania ToString() jest expression evaluator. Jest to źródło danych dla większości okien debuggera (watch, locals, immediate, itp ...).

Dla każdego okna oprócz natychmiastowego wartość jest wyświetlana w jednej linii. Wyświetlanie wielowierszowego ciągu na pojedynczej linii nie ma większego sensu. Stąd wyrażenie ewaluator sprawia, że łańcuch znaków jest nieco bardziej wyświetlalny, wprowadzając znaki nowej linii do wersji, którą można wyświetlić.

Ta technika działa całkiem dobrze dla mieszkańców i okna obserwacyjnego. Ale w bezpośrednim oknie, w którym wyświetlanie wartości wielowierszowej ma większy sens, ma to o wiele mniejszy sens. Niestety, ewaluator wyrażenia nie zna kontekstu, gdzie będą wyświetlane jego Dane i dlatego wykonuje bezpieczną operację, która polega na ucieczce od nowych linii.

 -3
Author: JaredPar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-19 20:22:23