Edytuj stronę Odnośniki Fold/unfold all ODT export Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić. ~~SLIDESHOW~~ ====== Resharper ====== {{ :zajecia:znd_2014_1:resharper-log.png?400 |}} \\ The most intelligent extension for Visual Studio\\ ===== ===== * Strona produktu: http://www.jetbrains.com/resharper/ * [[http://www.jetbrains.com/resharper/documentation/index.jsp|Resharper Documentation]] * [[http://www.jetbrains.com/resharper/download/|Download ReSharper]] obecnie v. 9.0 (wsparcie dla VS2015 i C# 6.0) * [[http://www.jetbrains.com/resharper/buy/| Licensing & Pricing]] ===== Najważniejsze właściwości ===== * Analiza kodu w poszukiwaniu błędów w czasie rzeczywistym (ponad 1.7k reguł) * C#, VB.NET, XAML, ASP.NET, ASP.NET MVC, JavaScript, TypeScript, CSS, HTML, and XML (Resharper C%%++%%) * Podpowiedzi (quick-fixes) i wykrywanie złych praktyk * Nawigacja pomiędzy plikami, deklaracjami, zmiennymi, ... * Zaawansowany refactoring * Generowanie kodu, szablony, możliwość definiowania własnych * Operacje zależne od kontekstu ===== ===== * Automatyczne czyszczenie kodu * Inteligentniejszy InteliSense * Kolorowanie składni i inne metody wyróżniania wyników analizy * Ułatwienia dla testowania jednostkowego * Inspekcje obiektów a nawet dostęp do zewnętrznych źródeł i dekompilacja plików * Analiza i wizualizacja zależności w projekcie * Wsparcie dla wyrażeń regularnych * [[https://www.jetbrains.com/resharper/help/Introduction__Feature_Map.html|Funkcje dostępne w poszczególnych językach]] * [[https://www.jetbrains.com/resharper/documentation/comparisonMatrix_R9_vs2015.html|Resharper vs. VS]] ===== ===== * Oszczędność czasu implementacji -> mniejsze koszty {{ :zajecia:znd_2014_1:benefits_costs.png?700 |}} ===== Resharper w Visual Studio 2013 ===== * Zmieniona kolorystyka składni i wyróżnień kodu * Ikony informujące o błędach i wskazówkach na lewej i prawej belce * Menu kontekstowe (prawy klawisz myszy) * Menu główne w pasku VS * Nowe okna, **Resharper -> Windows** : inspekcja kodu, wyniki wyszukiwania, raporty błędów, zarządzanie testami * Opcje: **Resharper -> Options** * Skróty klawiszowe * Podmieniony InteliSense ===== Inspekcja kodu ===== | błędy | martwy kod | wskazówki (code smells) | | {{ :zajecia:znd_2014_1:bledy.png?300|}} | {{ :zajecia:znd_2014_1:martwy_kod.png?300| }} | {{:zajecia:znd_2014_1:wskazowki.png?300| }} | * ''Alt + Enter'' szybka naprawa ===== ===== Belka z zaznaczonymi problemami: ostrzeżenia, błędy, status pliku {{ https://www.jetbrains.com/resharper/features/screenshots/50/marker_bar.png |}} * ''F12'' przejście do następnego problemu, * ''Alt + Enter'' szybka naprawa ===== Akcje zależne od kontekstu ===== {{ :zajecia:npr_2015_1:resharper-context.png?600| }} ===== ===== * Bogata możliwość konfiguracji zachowania oraz dodawania własnych reguł {{ :zajecia:znd_2014_1:inspekcja_wiecej_opcji.png?500 |}} * **Resharper -> Oprions -> Code Inpection -> Inspection Severity ** ===== Automatyczne czyszczenie kodu ===== **Resharper -> Tools -> Cleanup Code** (''Ctrl + Alt + F'') {{ :zajecia:znd_2014_1:cleanup_window.png?400 |}} ===== Analiza całego rozwiązania ===== {{ https://www.jetbrains.com/resharper/features/screenshots/50/code_analysis_swa.png }} ===== Inspection results ===== ** Inspect -> Code Issues in Solution/Project** {{ https://www.jetbrains.com/resharper/features/screenshots/50/code_issues.png }} ===== Skróty klawiszowe ===== * Resharper nadpisuje domyślne skróty klawiszowe, lecz robi to uprzejmie * Najczęściej warto wybrać ustawienia proponowane domyślnie {{ http://blog.excastle.com/images/resharper/ReSharperShortcutConflict.png?400 }} ===== Najważniejsze skróty ===== * ''Alt + Enter'' szybka naprawa, “Swiss Army knife” * ''Alt + Insert'' generowanie kodu * ''Ctrl + Shift + R'' kontekstowy refactoring * ''Ctrl + N'' nawigacja/wyszukiwanie * ''Ctrl + Alt + G'' nawigacja, zależnie od kontekstu ===== ===== * ''Ctrl + clik'' idź do deklaracji/definicji * ''Alt + P'' parametry metod (wszystkie przeciążenia) * ''Ctrl + Alt + H'' hierarchia obiektów, dziedziczenia, itp * ''Ctrl + F11'' struktura pliku: sortowanie ręczne, refaktoring, otaczanie fragmentów, ... * ''Ctrl + Space'' uzupełnianie składni, dodatkowo podpowiada nazwy zmiennych * ''Ctrl + Shift + Space'' kontekstowe podpowiedzi * {{http://www.jetbrains.com/resharper/docs/ReSharper80DefaultKeymap_IDEA_scheme.pdf|ReSharper 8 Default Keymap: ReSharper 2.x / IntelliJ IDEA scheme}} * [[http://blog.excastle.com/2007/02/04/full-list-of-keystrokes-changed-by-resharper-251/|Lista podmienionych skrótów]] Joe White, Resharper 2.5.1 ===== Refactoring ===== {{ :zajecia:znd_2014_1:refactor_context.png?300|}} * ''Ctrl + Shift + R'' kontekstowy refactoring * Przenoszenie elementów między klasami, plikami, ... * Zmiany nazw zmiennych, metod, plików, * Ekstrakcja metod, pól, własności, interfejsów * Deklarowanie brakujących zmiennych, metod, klas, ... * Przekształcanie wyrażeń, ujednolicanie stylu, .. ===== Genrowanie kodu ===== {{ :zajecia:znd_2014_1:generate_context.png?250|}} * Szablony kodów, np.: ''prop + Tab'' * ''Alt + Insetr'' kontekstowe generowanie kodu * Automatyczne domykanie nawiasów, uzupełnianie składni, otaczanie fragmentów kodu ===== Nawigacja i wyszukiwanie ===== * ''Ctrl + N'' znajdź klasę, zmienną, plik, itp. (Akronimy ABC, metaznaki ''*'', ''+'') * ''Alt + F7'' znajdź wystąpienia {{ :zajecia:znd_2014_1:find_usages.png?300 |}} * filtrowanie/grupowanie/zapis wyników * ''Alt + Strzałka'' przechodzenie między metodami ===== Rzut okiem na menu ===== {{ :zajecia:znd_2014_1:resharper_menu.png?250 |}} ===== Command line tools ===== * [[https://www.jetbrains.com/resharper/features/command-line.html|Darmowe narzędzia konsolowe]] * dupFinder * InspectCode {{https://www.jetbrains.com/resharper/features/screenshots/80/command_line.png}} ===== Wiele innych ===== * Konfiguracja (dla różnych przestrzeni: rozwiązanie, maszyna, grupa,...) * Szablony kodu, otaczania, plików * Wtyczki * Badanie architektury * Testy jednostkowe ===== Więcej informacji ===== * Strona produktu: http://www.jetbrains.com/resharper/ * [[http://www.jetbrains.com/resharper/documentation/index.jsp|Resharper Documentation]] * [[http://blog.excastle.com/2007/01/31/blog-event-the-31-days-of-resharper/| The 31 Days of ReSharper]] by Joe White * [[resharper-zadania|Ćwiczenia]]