Czy da się żyć bez Reshapera?

produktywność Komentarze

Czy da się żyć bez Reshapera?

Resharper

Resharper to narzędzie do wspomagania pracy (życia) programisty. Przez jednych wychwalany pod niebiosa. Przez innych - mieszany z błotem. Aby móc coś powiedzieć o tym narzędziu trzeba go trochę poużywać.

Był taki czas, że dawałem sobie radę bez niego. Długo odwlekałem decyzję z zakupem. Między innymi dlatego, że w pobliżu nie znalazł się nikt kto by chciał mi taki zakup zasponsorować (mówię tu o moich poprzednich pracodawcach). Od dłuższego czasu sam jestem sobie pracodawcą, ale wtedy w grę wchodzą względy finansowe. Resharper dla przysłowiowego Kowalskiego tani nie jest. Mimo to, w końcu zainwestowałem. Na początku troszkę trwało zanim opanowałem podstawowe ruchy, czytaj skróty klawiaturowe, choć de-facto sprowadza się tak naprawdę do jednego, mitycznego Alt+Enter. Tak jest, z Resharperem aplikacje pisze się już prosto, wystarczy kilkanaście razy nastukać Alt+Enter i kodzik napisany. ;) Taki żarcik, a na serio nie wyobrażam (nie wyobrażałem) sobie wykonywania większego refaktoringu bez niego.

Resharper jest narzędziem potężnym i z wersji na wersję coraz bardziej rozbudowanym. Niestety za tym idzie jak cień jego ociężałość. Świeże Visual Studio 2015 śmiga aż miło. Zainstalowanie Resharpera spowalnia czas startu studia, czas załadowania projektu, a ostatnio zacząłem bardzo mocno odczuwać także spowolnienie pracy całego środowiska. W szczególności bardzo denerwujące jest to kiedy studio się zacina podczas wykonywania standardowych operacji (przykładowo zmiana nazwy klasy). Żeby nie było, komp świeżo po reinstalacji, takie tam i7 + SSD + 8GB RAM.

Z tego powodu zacząłem się zastanawiać jak by wyglądała moja codzienność bez Resharpera. Niestety natura człowieka jest taka, że jak się przyzwyczai do pewnych rzeczy to później trudno jest się odzwyczaić. Ja na tym polu niczym szczególnym się nie wyróżniam, więc zacząłem szukać tych małych ulepszaczy, z których korzystam na co dzień, ale bez całej reszty bagażu jaką wnosi Resharper. I tak oto stworzyłem poniższą listę "zastępników".

Move Class To File

Bardzo prosty i mały dodatek, dzięki któremu bardzo łatwo jest przenieść definicję klasy do nowego pliku. Na dodatek taki smaczek - rozszerzenie to jest napisane przez Filipa W. Zastępuje funkcję Resharpera, która pozwala na podzielenie jednego pliku z kilkoma definicjami do odpowiadających im oddzielnym plikom. Podpowiedź wywołuje się z podręcznego menu kontekstowego standardowym dla VS skrótem klawiaturowym "Ctrl+.".

Refactoring Essentials

To drugi dodatek, który zastępuje wiele opcji samego Resharpera. Posiada bardzo rozbudowaną listę wspomagaczy. Nie będę się rozpisywał na temat jego możliwości, sprawdźcie sami. Podpowiedź wywołuje się z podręcznego menu kontekstowego standardowym dla VS skrótem klawiaturowym "Ctrl+.".

VS Tricks

Wszyscy, którzy używają Resharpera na pewno wiedzą co to jest Camel Humps. Niestety dodatek nie wspiera wyszukiwania, gdzie wpisuje się duże litery wyrazów składających się na pełną nazwę (na przykład wpisujemy WPE, a Resharper znajdzie WordProcessorExtensions). Za to doskonale działa przeskakiwanie pomiędzy wyrazami będącymi członami dłuższych, wielowyrazowych nazw. Bardzo przydatne podczas edycji kodu. Wymaga własnej konfiguracji skrótów klawiaturowych w ustawieniach VS (standardowo "Ctrl+Left" i "Ctrl+Right").

Productivity Power Tools

Tego dodatku chyba nie muszę opisywać, gdyż dostępny jest od dawna, nawet dla starszych wersji VS. Pomimo zainstalowanego Resharpera zawsze ten dodatek był pod ręką. Lista opcji jest naprawdę spora. Sam dodatek jest stworzony przez "Visual Studio Product Team".

Clr Heap Allocation Analyzer

Tu dodatek odstający od reszty, bo skupia się na problemach związanych z wydajnością pisanego kodu. Odkryłem go dopiero co i szczerze polecam. A dlaczego polecam? Obejrzyjcie video z wystąpienia Bartka Adamczewskiego na warszawskiej grupie .net.

NUnit Test Adapter

Uruchamianie testów to jest coś co mnie najbardziej boli. Wbudowane narzędzie w Visual Studio jest naprawdę skromne. Na szczęście nikt teraz nie tworzy oprogramowania bez CI, więc jest to do przeżycia. Lokalnie odpalam tylko i wyłącznie szybkie testy jednostkowe. Odpowiednie nazewnictwo daje w miarę dobry pogląd na tej prostej liście jaką daje nam studio.

Warto tu jeszcze wspomnieć o kilku usprawnieniach w samym Visual Studio, które także w ostatniej wersji zyskało kilka fajnych opcji wspomagających kodowanie. To także dzięki nim mogę kliknąć "Suspend Now". :)

Find Usages

Ciężko znaleźć poprawnie działający odpowiednik w dodatkach, ale jest fajna opcja w VS. Nazywa się "View Call Hierarchy". Wystarczy ustawić swój znany skrót klawiaturowy - u mnie jest to "Shift+F12" (Find Usages z Resharpera).

Wyszukiwanie

Wyszukiwanie Resharper ma rozwiązane naprawdę koncertowo, ale jak się okazuje Visual Studio też ma się czym pochwalić. Po pierwsze mamy "Ctrl+;", aby wyszukiwać po strukturze projektu. Na dodatek mamy opcję "Navigate To". Pod tą opcję mam podpięty skrót "Ctrl+T" znany z opcji wyszukiwania po typach w Resharperze. :)

Alt+Enter

Co zastępuję Alt+Enter? Visual Studio posiada listę opcji zależnych od kontekstu kryjącą się pod skrótem klawiaturowym "Ctrl+.". Tam też podpinają się niektóre dodatki, o których pisałem wcześniej.

To chyba na razie tyle. Jak coś mi się przypomni to wrzucę update. Studio teraz działa mi o wiele sprawniej i praca jest przyjemniejsza.

Jeśli znacie jakieś inne fajne dodatki/nieznane opcje VS to dajcie znać w komentarzach. :)

PS 1

Ja wiem, że mamy tu do czynienia z sytuacją typu "coś za coś". Każdy patrzy na to pod swoim kontem. Ja wybieram wydajne środowisko. Po za tym poczytajcie co o narzędziach takich jak Resharper ma do powiedzenia Mark Seemann. Można popaść w lekką zadumę ;)

PS 2

Resharpera nie odinstalowałem całkowicie. On cały czas tu jest, ale wyłączony. Wystarczy kliknąć w ustawieniach przycisk "Suspend Now", o którym wspominałem powyżej. Może się przydać kiedy będę musiał dokonać większej modyfikacji w jakimś bardziej złożonym projekcie. :)

Prawdopodobnie po całkowitym odinstalowaniu studio działało by jeszcze lepiej i kto wie, może to kiedyś zrobię.

PS 3

Omawiane wyżej rozwiązania opisywałem w oparciu o Visual Studio 2015. Część z nich może nie być dostępna w starszych wersjach lub jest dużo bardziej uboga.

Komentarze