Jedes Mal, wenn ich die Funktion C # Edit | Refactor | Rename verwende, ist das Anwenden der Änderungen schrecklich langsam - wie 30 Sekunden oder langsamer. Manchmal erscheint während dieser Aktion das Popup-Fenster "Updates".
Alles andere an der Maschine ist schnell und reaktionsschnell. Das C ++ - Äquivalent ist auch in Ordnung. Hat jemand anderes dieses Problem? Irgendeine Lösung?
BEARBEITEN:
Nach dem Vorschlag von magicandre1981 habe ich eine ETW-Ablaufverfolgung ausgeführt. Ich habe auch eine andere Instanz des VS-Debuggers an den von mir verwendeten angefügt, um zu sehen, ob das irgendwas interessantes ergeben hat.
Ich habe zwei interessante Dinge gefunden:
Die Verlangsamung ist exponentiell - anfangs ist es schnell, aber zum zehnten Mal, das du benutzt hast, dauert es 10 Sekunden, zum 20. Mal dauert es eine Minute oder länger.
In einer Delegate.Remove-Methode wird eine Ausnahme ausgelöst. (Speziell innerhalb von System.MulticastDelegate.RemoveImpl.) Ich vermute also, dass etwas angeschlossen und dann nie entfernt wird.
Grundsätzlich wird dieser Aufrufstack tausende Male getroffen:
mscorlib.dll!System.MulticastDelegate.DeleteFromInvocationList(object[] invocationList = {object[4096]}, int invocationCount = 3569, int deleteIndex, int deleteCount = 1)
mscorlib.dll!System.MulticastDelegate.RemoveImpl(System.Delegate value)
mscorlib.dll!System.Delegate.Remove(System.Delegate source, System.Delegate value)
Microsoft.CodeAnalysis.EditorFeatures.dll!Microsoft.CodeAnalysis.Editor.Implementation.InlineRename.InlineRenameSession.OpenTextBufferManager.SpansChanged.remove(System.Action value = {Method = {System.Reflection.RuntimeMethodInfo}})
Sowohl der ETW-Trace als auch der einfache Bruch mit dem Debugger haben diesen Call-Stack getroffen.
Also ... mehr Informationen, aber ich habe noch nicht herausgefunden, warum.
EIN WEITERES EDITIEREN:
Und ich habe gerade getan, was ich hätte tun sollen: Deaktivieren Sie Erweiterungen, um zu sehen, ob es einen Unterschied macht. Sicherlich ging das Leistungsproblem weg. Ich beschränkte mich auf eine bestimmte Erweiterung - ich werde den Autor kontaktieren und sehen, ob sie es beheben können.
Tags und Links visual-studio-2015