.NET dev na detoksie, czyli Visual Studio 2017 bez Resharpera

Posted on Sat 09 September 2017 in Inne

Cześć. Dziś będzie trochę o narzędziach pracy. Jak wiadomo przynajmniej do niedawana, jako .NET developerzy mieliśmy jedno IDE, czyli Visual Studio ewentualnie jak ktoś chciał mógł używać MonoDevelop. Obecnie po ostatnim otwarciu się Microsoftu na świat Open Source pojawiało się masę edytorów wspierających C# i IntelliSense za pomocą OmniSharp. Dodatkowo kawałek .NET'owego tortu chce uszczknąć JetBrains za pomocą swojego IDE Rider. Jak widać w przeciągu 2-3 lat ilość narzędzi wzrosła i nie jesteśmy już ograniczeni do samego Visual Studio. Jednak nie o tym ma być ten artykuł. Samo VS jest narzędziem dość ciężkim, posiada masę funkcji, jednak paru istotnych rzeczy zawsze w nim brakowało - tą lukę zawsze uzupełniał Resharper od wspomnianego już JetBrains. Co prawda Visual Studio zawsze gdzieś tam próbowało zaimplementować nowe funkcje, ale szło to bardzo ślamazarnie, więc pozycja R# wydawała się niezagrożona. Ostatnio jednak mocno się w temacie ruszyło oraz zmieniło, szczególnie po ostaniem update Visual Studio 2017 do wersji 15.3 i magicznie VS zyskało masę nowych funkcji. Zaznaczam, że nie wiem jak było w poprzednich wersjach VS 2017, bo niedawno się przesiadłem. Przejdźmy więc przez zmiany, które zauważyłem:

IntelliSense

Intelisese

Jak widać doszły na dole nowe filtry dla okienka IntelliSense można wyszukiwać w namespace, klasach, snippetach itp. Całkiem fajna zmiana co prawda w C# średnio ją wykorzystuje, ale w C++ jakoś tak częściej. Z tego co zauważyłem cały system lepiej przewiduję to co będę wpisywał. Z tego co brakuje to nie ma wyszukiwania w typach, których nie mamy w usingach. R# takie coś potrafi i szkoda, że nie ma tego samo Visual Studio.

Generate Constructor

ctorf

Element, którego brakowało w Visual Studio. Pamiętam, że jak pisałem system w Akka.Net to musiałem pisać masę klas readonly, które miały inicjalizacje przez konstruktor i bardzo tej funkcjonalności brakowało (a R# nie miałem). Brawo Microsoft !!!

Extract to file

extract

Z tego co pamiętam to było to jakoś dostępne w VS 2015, ale nie działało tak dobrze jak teraz. Jest to mega użyteczne narzędzie, ponieważ często dla jakiegoś POC piszemy klasy w jednym pliku i dzięki temu można to szybko podzielić.

Wyszukiwanie w projekcie

ctrlT

Wszyscy znający R# znają skrót 'Ctrl+T', który pozwala na wyszukiwanie po właściwie wszystkim w projekcie tzn. pliki, property, typy itp. Z tego co pamiętam VS miało taką biedniejszą wersje tego pod 'Ctrl+,'. Obecnie funkcjonalność ta została bardzo rozwinięta no i skrót pokrywa się z tym z R#.

Refactoringi

Generalnie z tego co widziałem pojawiło się dużo więcej akcji kontekstowych powalających na różne refactoringi kodu. Dodatkowo zmienił się skrót na Quick Actions z 'Ctrl+.' na znany z R# 'Alt+Enter'. Polecam dodatkowo zainstalować RefactoringEssentials, ponieważ dodają one nowe rzeczy, których nie ma w gołym VS.

Mimo tych nowych rzeczy, które w dużym stopniu usprawniają prace z Visual Studio bez R# to jednak paru rzeczy brakuje. Zobaczymy co przyniosą kolejne aktualizacje Visual Studio, bo obecny kierunek bardzo mi się podoba. A wy co zauważyliście z nowości w VS 2017?