~~REVEAL~~ ====== Analiza kodu w Resharper ====== {{ :zajecia:znd_2014_1:resharper-log.png?400 |}} \\ The most intelligent extension for Visual Studio\\ ===== ===== * 1700 reguł dla C#, VB.NET, XAML, XML, ASP.NET, ASP.NET MVC, JavaScript, TypeScript, HTML, CSS (R# 10.0.2) * inspekcja kodu na żywo, //quick fixes// * podział na błędy (//errors//), ostrzeżenia (//warnings//), wskazówki (//suggestions//, //hints//) * inspekcja całego projektu/rozwiązania * konfiguracja priorytetów błędów oraz możliwość definiowania własnych reguł * śledzenie wywołań metod oraz zmian wartości zmiennych * //inspect this// ===== Inspekcja kodu ===== | błędy | ostrzeżenia | 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/20161/marker_bar.png |}} \\ //Źródło: [[www.jetbrains.com/resharper/features/screenshots]]// ''F12'' przejście do następnego problemu, \\ ''Shift + F12'' powrót do poprzedniego problemu \\ ''Alt + Enter'' szybka naprawa ===== ===== Bogata możliwość konfiguracji zachowania oraz dodawania własnych reguł | {{ :zajecia:znd_2014_1:inspekcja_wiecej_opcji.png?500 |}} | {{ https://www.jetbrains.com/resharper/features/screenshots/100/solution-wide_inspections.png }} | **Resharper -> Oprions -> Code Inpection -> Inspection Severity** ===== Wykrywanie błędów i ostrzeżeń bez kompilacji ===== **Solution-Wide Analysis** {{ https://www.jetbrains.com/resharper/features/screenshots/100/errors_in_solution.png }} //Źródło: [[www.jetbrains.com/resharper/features/screenshots]]// ===== Inspekcja całego projektu ===== ** Inspect -> Code Issues in Solution/Project** {{ https://www.jetbrains.com/resharper/features/screenshots/100/find_code_issues.png }} //Źródło: [[www.jetbrains.com/resharper/features/screenshots]]// ===== Automatyczne czyszczenie kodu ===== **Resharper -> Tools -> Cleanup Code** (''Ctrl + Alt + F'') {{ :zajecia:znd_2014_1:cleanup_window.png?400 |}} ===== Śledzenie wywołań metod (Call tracking) ===== **ReSharper -> Inspect -> Outgoing Calls** \\ **ReSharper -> Inspect -> Incoming Calls** {{ https://www.jetbrains.com/resharper/features/screenshots/100/call_tracking.png }} //Źródło: [[www.jetbrains.com/resharper/features/screenshots]]// ===== Śledzenie wartości zmiennych ===== **ReSharper -> Inspect -> Value Origin** \\ **ReSharper -> Inspect -> Value Destination** {{ https://www.jetbrains.com/resharper/features/screenshots/100/value_tracking.png }} //Źródło: [[www.jetbrains.com/resharper/features/screenshots]]// ===== Inspect this ===== {{ https://www.jetbrains.com/resharper/features/screenshots/100/inspect_this.png }} //Źródło: [[www.jetbrains.com/resharper/features/screenshots]]// ''Ctrl + Shift + Alt + A'' \\ jeden skrót do analizy kodu, nawigacji, śledzenia wywołań, śledzenia wartości zmiennych, badania hierarchii typów ===== 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}} //Źródło: [[www.jetbrains.com/resharper/features/screenshots]]// ===== Integracja z VSTS ===== [[https://marketplace.visualstudio.com/items?itemName=alanwales.resharper-code-analysis|Resharper Code Quality Analysis]] darmowe rozszerzenie {{ https://alanwales.gallerycdn.vsassets.io/extensions/alanwales/resharper-code-analysis/1.0.60/1474455260769/Images/taskconfiguration.png }} //Źródło: [[https://alanwales.gallerycdn.vsassets.io/]]//