Niestety nie ma. To, co się tutaj dzieje, jest artefaktem projektowania interfejsów API debuggera.
Składnikiem odpowiedzialnym za przetwarzanie wywołania ToString()
jest ewaluator wyrażeń. Jest to źródło danych dla większości okien debuggera (zegarek, lokalni, natychmiastowi itd.).
Dla każdego okna oprócz natychmiastowej wartości wyświetlana jest w jednym wierszu. Wyświetlanie ciągu wielowierszowego w jednej linii nie ma większego sensu. W związku z tym analizator wyrażeń sprawia, że łańcuch staje się bardziej dostępny do wyświetlenia poprzez przejście znaków nowej linii do wersji możliwej do wyświetlenia.
Ta technika działa całkiem dobrze dla mieszkańców i okna zegarka. Ale w bezpośrednim oknie, w którym bardziej sensowne jest wyświetlanie wartości wielowierszowej, ma on o wiele mniej sensu. Niestety ewaluator wyrażeń nie zna kontekstu, w którym będą wyświetlane dane, a zatem wykonuje bezpieczną operację, która ma uciec przed nowymi wierszami.
I nie można odtworzyć ten problem na moim VS2010, pojawia się nowy wiersz w oknie Immediate. –
Czy są ustawienia Natychmiastowego okna, których nie widzę? –
Przepraszam, że właśnie wpisałem nazwę var, która daje prawidłowy wynik, otrzymuję takie samo zachowanie jak ty z var.ToString() –