Brak menu refaktoryzacji w programie Visual Studio 2015

87

Mam problem ze znalezieniem menu kontekstowego dostępnego po kliknięciu prawym przyciskiem myszy w programie Visual Studio 2015. Wiem, że nic nie jest nie tak z moim projektem lub plikiem, nad którym pracuję. Mogę znaleźć menu kontekstowe refaktoryzacji dostępne po kliknięciu prawym przyciskiem myszy w programie Visual Studio 2013. Jednak w programie Visual Studio 2015 nie ma menu kontekstowego refaktoryzacji w menu kontekstowym wyświetlanym po kliknięciu prawym przyciskiem myszy.

Gdzie to poszło? Jak mogę to odzyskać?

Twoja sugestia nie może zawierać menu EdytujRefaktoryzuj .

Próbowałem zresetować moje ustawienia Visual Studio z powrotem do domyślnych za pomocą menu NarzędziaUstawienia importu i eksportu i to również nie przywróciło menu.

Pan młody
źródło
Chodzi mi o to, że menu refaktoryzacji paska menu nie jest tym, czego brakuje.
Mr. Young
Jakieś konkretne chwile, kiedy to się nie dzieje? jak zmiana nazwy metody lub wyodrębnienie metody? czy po prostu wszędzie?
Kritner
Wydaje się, że problem istnieje wszędzie.
Mr. Young
1
Nie działa już, gdy kod się nie kompiluje. Wcześniej można było go używać na niekompletnym kodzie.
PRMan

Odpowiedzi:

93

Niektóre z narzędzi refaktoryzacji zostały przeniesione lub są przynajmniej dostępne w inny sposób niż wcześniej.

Korzystając z refaktoryzacji metody wyodrębniania jako przykładu, nadal możesz używać tej funkcji; po prostu nie jest zrobione tak samo jak wcześniej:

Wybierz części do wyodrębnienia

Kliknij prawym przyciskiem myszy

Kliknij prawym przyciskiem myszy

Szybkie akcje

Szybkie akcje

Kliknij wyodrębnij metodę

Kliknij metodę wyodrębniania

Myślę, że zmienili to, aby wydawało się bardziej „ostrzejsze”. Jednak wszystkie funkcje powinny nadal być dostępne.

Oto więcej informacji na temat refaktoryzacji w programie Visual Studio 2015 - miejmy nadzieję, że to pomoże! Refaktoryzacja (C #)

Kritner
źródło
tak, na pewno zajmie trochę czasu. Założę się, że jest to bardziej intuicyjne dla zwykłych użytkowników
resharpera
2
Dziękuję za zrzuty ekranu. Nie jestem pewien, czy w przeciwnym razie znalazłbym, gdzie to zostało przeniesione! :-)
Mr. Young
1
Do Twojej wiadomości: Wygląda na to, że w niektórych wersjach VS jest błąd związany z tą funkcjonalnością VS ulega awarii podczas refaktoryzacji kodu w celu wyodrębnienia nowej metody
Liam
2
Niezłe wyjaśnienie. + Jestem frajerem ładnych zdjęć :)
Fetchez la vache
1
@BarthoBernsmann jest to specyficzne dla kontekstu, czy na pewno masz prawidłowy fragment kodu w ramach metody wyróżnionej do ekstrakcji?
Kritner
2

Nie musisz już uzyskiwać dostępu do refaktoryzacji za pomocą prawego przycisku myszy.

Zaleca się używanie klawiszy skrótów klawiaturowych w programie Visual Studio.

Aby uzyskać wszystkie możliwe klawisze skrótów, zobacz domyślne skróty klawiaturowe w programie Visual Studio, Refactor .

Ashraf Abusada
źródło
1
Podane łącze prowadzi do strony programu Visual Studio 2008. Lista dotycząca programu VS 2015 znajduje się pod adresem msdn.microsoft.com/en-us/library/da5kh0wa.aspx#bkmk_refactor .
Theophilus
Krótka wersja: CTRL + R, M. Ponadto Edycja> Refaktoryzacja> Wyodrębnij metodę ... (widoczne tylko wtedy, gdy jest podświetlony blok kodu).
Chris,
1

Być może będziesz musiał skompilować projekt, aby działał.

Zobacz edytowanie kodu ASP.NET formularze sieci Web w programie Visual Studio 2013 | Dokumenty Microsoft . (Jeśli go brakuje, chodzi o to, że korzystam z przykładu dostarczonego przez firmę Microsoft). W refaktoryzacji i zmianie nazwy zobacz Aby wyodrębnić metodę na stronie C # . Gdy postępuję zgodnie z instrukcjami, nie mogę znaleźć funkcji wyodrębnienia kodu do metody. Kiedy próbowałem menu Edycja, okazało się, że nie mam prawidłowego kodu. Następnie zbudowałem projekt, a funkcja wyodrębniania kodu była dostępna i działała.

user34660
źródło
0

Jeśli zmienisz nazwę obiektu, który refaktoryzujesz, po lewej stronie pojawi się żarówka, która zapyta, czy chcesz zmienić nazwę obiektu (tj. Refaktoryzacji) lub wygenerować nowy konstruktor dla nowego nazwanego obiektu.

dave
źródło
2
Mój OP konkretnie wspomniał o refaktorze „Kliknięcie prawym przyciskiem”. Nienawidzę żarówki, stąd moje pytanie.
Mr. Young,
0

Ctrl+ .to klawisz skrótu do wyodrębniania metody w programie Visual Studio 2015 i nowszych wersjach.

Ctrl+ M, Rnie działa już w nowych wersjach.

Sohaib Yahya
źródło