Programowanie

Resharper – ulubione funkcje

Ostatnio na Twitterze napisałem, że nie wiem dlaczego tak długo nie chciałem używać Resharpera. Broniłem się przed nim dość długo, argumentując to tym, że przecież ja chcę się nauczyć programować, a nie obsługiwać narzędzia. Jednak nie doceniałem tego co umożliwia nam Resharper. I wcale nie pisze za nas kodu(no może czasami). Bardziej pomaga w sytuacjach w których musimy robić powtarzalne czynności. Przechodząc do meritum, poniżej znajdziesz moje ulubione funkcje Resharpera:

Refaktoryzacja

Jedna z moich ulubionych funkcji w R#. W jej ramach można zmieniać nazwy i robić inne podstawowe rzeczy które robi też VS. Ale to tylko początek. Moją ulubioną akcją w ramach refactor jest Extract. Można jednym kliknięciem wyodrębnić nową metodę w klasie, czy nową klasę z metod. Mamy linijkę/-ki, które powtarzają się w kilku metodach, czy klasach? Czas je wyodrębnić do nowej metody. Dzięki Resharperowi jest to bardzo łatwe. UWIELBIAM!

Okno pojawiające się przy refaktoryzacji kodu za pomocą Resharpera
Refactor code
Okno pojawiające się przy refaktoryzacji metody za pomocą Resharpera
Refactor method

Wszystkie opcje refaktoryzacji uruchamiamy za pomocą Ctrl + Shift + R. Jednak te najbardziej powszechne akcje mają swoje skróty. I tak na przykład chcąc zmienić nazwę elementu naciskamy Ctrl + R, R. Aby przenieść dane linie do nowej metody naciskamy Ctrl + R, M.

File structure

Jest to szczególnie przydatne przy rozbudowanych klasach. Jeden skrót klawiszowy i już nie muszę przekopywać się przez kod całej klasy, żeby dotrzeć do konkretnej metody. Wraz z poprzednią funkcją jest idealny do refaktoryzacji kodu i przenoszeniu metod do nowych klas. Uruchamiamy tą opcję za pomocą skrótu Ctrl + Alt + F.

Okno dla opcji File structure z Resharpera

Test runner

Niby coś co jest standardowo w VS, ale nie zawsze działa. I właśnie kiedy kolejny raz, Visual nie widział moich testów w xUnit, postanowiłem zainstalować R#. Wszystko działa out of the box. Nie muszę nic doinstalowywać w każdym projekcie, czyścić żadnych keszy. Po prostu działa i w trymiga wykrywa nowe testy w projekcie. Poza tym dostarcza więcej danych na pierwszy rzut oka niż test runner z Visual Studio. Idealnie by było, gdyby xUnit dalej wspierał wypisywanie za pomocą System.WriteLine do okienka outputu w runnerze Resharpera.

Okno test runnera z Resharpera

Polecam przypisać sobie skrót Ctrl + R, A do uruchamiania wszystkich testów w solucji oraz Ctrl + R, C do uruchamiania wszystkich testów w danym kontekście. To może być np. uruchamianie całej klasy z testami, gdy kursor jest w klasie ale poza ciałem metod, lub jednej metody, gdy kursor jest w ciele metody.

Go to usages

To jest funkcja, której bardzo mi brakowało w Visual Studio w porównaniu do IntelliJ Idea. Jednak dzięki firmie odpowiedzialnej za to środowisko do Javy, mam już taką opcję w VS. Uruchamiamy ją za pomocą skrótu Shift + Alt + F12.

Okno go to usages z Resharpera

Dzięki temu możemy zobaczyć gdzie w solucji wykorzystujemy daną metodę, czy klasę. Możemy też od razu przejść do konkretnego wykorzystania.

Navigate to

Dzięki tej funkcji możemy łatwo przejść do deklaracji np. metody, czy klasy. Drugą opcją z tego menu której używam to Related Files… Pozwala ona przejść np. do interfejsu, w którym znajduje się metoda na której wykonaliśmy skrót Alt + `. Bo to właśnie on służy do otwarcia poniższego menu:

Okno Navigate to z Resharpera

Help

Tę funkcję uruchamiamy skrótem Ctrl + Shift + F1. Pozwala ona na podgląd informacji dotyczącej danej metody, klasy, czy innego elementu na którym akurat mamy kursor. Przykładowe okno z informacjami może wyglądać następująco:

Okno pomocy(help) do danego elementu z Resharpera

Skróty w Resharperze są bardzo intuicyjne i szybko można się ich nauczyć. Ja wypisałem sobie te, które są bardzo przydatne na kartce i powiesiłem nad komputerem. Gdy tylko zapomnę jakiś skrót, sięgam wzrokiem ponad monitor i już wiem jaką kombinację klawiszy wcisnąć. W taki sposób bardzo szybko opanowuję kolejne skróty klawiszowe. Polecam.

Jednak jak każdy kawałek softu tak i Resharper ma wady. Główną z nich jest spowalnianie Visual Studio. Włączam Visuala, odpalam solucję I mogę iść zrobić sobie herbatę. Co prawda środowisko jest niby gotowe w zasadzie od razu, ale z responsywnością nie ma to nic wspólnego. Trzeba po prostu zaczekać aż Resharper i VS sobie wszystko przemielą. Może to i specjalne działanie firmy Jetbrains, że przez lata spowalniała VS, żeby wypuścić własne środowisko dla .NETa – Rider 😉

A Ty jakich funkcji używasz najczęściej w Resharperze? Podziel się z innymi czytelnikami w komentarzach. Będziemy Ci wszyscy bardzo wdzięczni.

Zostaw odpowiedź

Twój adres email nie zostanie upubliczniony.* Pola wymagane *