Refactor-Menü fehlt in Visual Studio 2015

86

Ich habe Probleme, das Kontextmenü mit der rechten Maustaste in Visual Studio 2015 zu finden. Ich weiß, dass an meinem Projekt oder der Datei, an der ich arbeite, nichts falsch ist. Ich kann das Kontext-Refactor-Menü mit der rechten Maustaste in Visual Studio 2013 finden. In Visual Studio 2015 gibt es jedoch kein Refactor-Kontextmenü im Kontextmenü mit der rechten Maustaste.

Wo ist es hin? Wie bekomme ich es zurück?

Ihr Vorschlag kann das Menü BearbeitenRefaktor nicht enthalten .

Ich habe versucht, meine Visual Studio-Einstellungen über das Menü ExtrasImportieren und Exporteinstellungen auf die Standardeinstellungen zurückzusetzen , aber das Menü wurde auch nicht wiederhergestellt.

Herr Young
quelle
Mein Punkt ist, dass das Menüleisten-Refactor-Menü nicht das ist, was fehlt.
Mr. Young
Gibt es bestimmte Zeiten, in denen es nicht kommt? wie Methode umbenennen oder Methode extrahieren? oder einfach überall?
Kritner
Das Problem scheint überall zu existieren.
Mr. Young
1
Es funktioniert nicht mehr, wenn der Code nicht kompiliert werden kann. Bisher konnten Sie es für unvollständigen Code verwenden.
PRMan

Antworten:

92

Einige der Refactoring-Tools wurden verschoben oder sind zumindest anders zugänglich als zuvor.

Am Beispiel des Extraktionsmethoden-Refactors können Sie diese Funktion weiterhin verwenden. es wird einfach nicht so gemacht wie vorher:

Wählen Sie die zu extrahierenden Teile aus

Rechtsklick

Rechtsklick

Schnelle Aktionen

Schnelle Aktionen

Klicken Sie auf Methode extrahieren

Klicken Sie auf Extraktionsmethode

Ich denke, sie haben es geändert, um mehr "ReSharper" zu fühlen. Die gesamte Funktionalität sollte jedoch weiterhin vorhanden sein.

Hier finden Sie weitere Informationen zum Refactoring in Visual Studio 2015 - hoffentlich hilft dies! Refactoring (C #)

Kritner
quelle
Ja, es wird etwas gewöhnungsbedürftig sein. Ich wette, dass es für normale Benutzer von
Resharper
2
Danke für die Screenshots. Ich bin mir nicht sicher, ob ich gefunden hätte, wohin dies sonst verschoben wurde! :-)
Mr. Young
1
Zu Ihrer Information: In einigen Versionen von VS scheint es einen Fehler in Bezug auf diese Funktionalität zu geben. VS stürzt ab, wenn Code überarbeitet wird, um eine neue Methode zu extrahieren
Liam,
2
Schöne Erklärung. + Ich bin ein Trottel für schöne Bilder :)
Fetchez la Vache
1
@BarthoBernsmann Es ist kontextspezifisch. Sind Sie sicher, dass Sie ein gültiges Codebit in einer Methode haben, die für die Extraktion hervorgehoben wurde?
Kritner
2

Sie müssen nicht mehr mit der rechten Maustaste auf das Refactoring zugreifen.

Es wird empfohlen, die Tastenkombinationen in Visual Studio zu verwenden.

Alle möglichen Tastenkombinationen finden Sie unter Standardtastenkürzel in Visual Studio, Refactor .

Ashraf Abusada
quelle
1
Der angegebene Link führt zu einer Seite für Visual Studio 2008. Eine Liste für VS 2015 finden Sie unter msdn.microsoft.com/en-us/library/da5kh0wa.aspx#bkmk_refactor .
Theophilus
Kurzfassung: STRG + R, M. Außerdem Bearbeiten> Refaktor> Methode extrahieren ... (nur sichtbar, wenn ein Codeblock markiert ist).
Chris
1

Möglicherweise müssen Sie das Projekt erstellen, damit es funktioniert.

Siehe Codebearbeitung von ASP.NET-Webformularen in Visual Studio 2013 | Microsoft Docs . (Wenn es fehlt, ist der Punkt, dass ich ein von Microsoft bereitgestelltes Beispiel verwende.) In Refactoring und Umbenennen sehen eine Methode in einer C # Seite zu extrahieren . Wenn ich den Anweisungen folge, kann ich die Funktion zum Extrahieren des Codes in eine Methode nicht finden. Als ich das Menü Bearbeiten ausprobierte, hieß es, ich hätte keinen gültigen Code. Dann habe ich das Projekt erstellt und die Funktion zum Extrahieren des Codes war verfügbar und hat funktioniert.

user34660
quelle
0

Wenn Sie den Namen des Objekts ändern, das Sie umgestalten, wird links die Glühbirne angezeigt, in der Sie gefragt werden, ob Sie den Namen des Objekts (dh des Refactors) ändern oder einen neuen Konstruktor für das neu benannte Objekt generieren möchten.

Dave
quelle
2
Mein OP erwähnte ausdrücklich den Refactor "Rechtsklick". Ich hasse die Glühbirne, die meine Frage aufwirft.
Mr. Young
0

Ctrl+ .ist die Tastenkombination zum Extrahieren einer Methode in Visual Studio 2015 und höher.

Ctrl+ M, Rfunktioniert in neuen Versionen nicht mehr.

Sohaib Yahya
quelle